From e3b8b375ef9ec2cd06171b119847bca27a8e140b Mon Sep 17 00:00:00 2001 From: Blaise Tine Date: Mon, 25 Nov 2019 18:48:48 -0500 Subject: [PATCH] lbm --- benchmarks/opencl/lbm/120_120_150_ldc.of | 18150 +++++++++++++++++++++ benchmarks/opencl/lbm/Makefile | 68 + benchmarks/opencl/lbm/args.c | 617 + benchmarks/opencl/lbm/gpu_info.c | 55 + benchmarks/opencl/lbm/gpu_info.h | 20 + benchmarks/opencl/lbm/kernel.cl | 424 + benchmarks/opencl/lbm/layout_config.h | 69 + benchmarks/opencl/lbm/lbm.c | 356 + benchmarks/opencl/lbm/lbm.h | 39 + benchmarks/opencl/lbm/lbm_macros.h | 177 + benchmarks/opencl/lbm/liblbm.a | Bin 0 -> 24086 bytes benchmarks/opencl/lbm/main.cc | 238 + benchmarks/opencl/lbm/main.h | 31 + benchmarks/opencl/lbm/ocl.c | 40 + benchmarks/opencl/lbm/ocl.h | 25 + benchmarks/opencl/lbm/parboil.h | 348 + benchmarks/opencl/lbm/parboil_opencl.c | 1394 ++ benchmarks/opencl/lib/libOpenCL.a | Bin 8097038 -> 8098294 bytes benchmarks/opencl/stencil/libsgemm.a | Bin 5614 -> 0 bytes benchmarks/opencl/stencil/libstencil.a | Bin 5614 -> 5614 bytes benchmarks/opencl/stencil/main.cc | 8 +- 21 files changed, 22055 insertions(+), 4 deletions(-) create mode 100644 benchmarks/opencl/lbm/120_120_150_ldc.of create mode 100644 benchmarks/opencl/lbm/Makefile create mode 100644 benchmarks/opencl/lbm/args.c create mode 100644 benchmarks/opencl/lbm/gpu_info.c create mode 100644 benchmarks/opencl/lbm/gpu_info.h create mode 100644 benchmarks/opencl/lbm/kernel.cl create mode 100644 benchmarks/opencl/lbm/layout_config.h create mode 100644 benchmarks/opencl/lbm/lbm.c create mode 100644 benchmarks/opencl/lbm/lbm.h create mode 100644 benchmarks/opencl/lbm/lbm_macros.h create mode 100644 benchmarks/opencl/lbm/liblbm.a create mode 100644 benchmarks/opencl/lbm/main.cc create mode 100644 benchmarks/opencl/lbm/main.h create mode 100644 benchmarks/opencl/lbm/ocl.c create mode 100644 benchmarks/opencl/lbm/ocl.h create mode 100644 benchmarks/opencl/lbm/parboil.h create mode 100644 benchmarks/opencl/lbm/parboil_opencl.c delete mode 100644 benchmarks/opencl/stencil/libsgemm.a diff --git a/benchmarks/opencl/lbm/120_120_150_ldc.of b/benchmarks/opencl/lbm/120_120_150_ldc.of new file mode 100644 index 00000000..d996788c --- /dev/null +++ b/benchmarks/opencl/lbm/120_120_150_ldc.of @@ -0,0 +1,18150 @@ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ + +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ + +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ + +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ + +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ + +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ + +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ + +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ + +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ + +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ + +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ + +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ + +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ + +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ + +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ + +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ + +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +..............................................#####..................................................................... +............................................#########................................................................... +...........................................###########.................................................................. +..........................................#############................................................................. +..........................................#############................................................................. +.........................................###############................................................................ +.........................................###############................................................................ +.........................................###############................................................................ +.........................................###############................................................................ +.........................................###############................................................................ +..........................................#############................................................................. +..........................................#############................................................................. +...........................................###########.................................................................. +............................................#########................................................................... +..............................................#####..................................................................... +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ + +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +.............................................#######.................................................................... +...........................................###########.................................................................. +..........................................#############................................................................. +.........................................###############................................................................ +........................................#################............................................................... +.......................................###################.............................................................. +.......................................###################.............................................................. +......................................#####################............................................................. +......................................#####################............................................................. +......................................#####################............................................................. +......................................#####################............................................................. +......................................#####################............................................................. +......................................#####################............................................................. +......................................#####################............................................................. +.......................................###################.............................................................. +.......................................###################.............................................................. +........................................#################............................................................... +.........................................###############................................................................ +..........................................#############................................................................. +...........................................###########.................................................................. +.............................................#######.................................................................... +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ + +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +............................................#########................................................................... +..........................................#############................................................................. +........................................#################............................................................... +.......................................###################.............................................................. +......................................#####################............................................................. +......................................#####################............................................................. +.....................................#######################............................................................ +.....................................#######################............................................................ +....................................#########################........................................................... +....................................#########################........................................................... +....................................#########################........................................................... +....................................#########################........................................................... +....................................#########################........................................................... +....................................#########################........................................................... +....................................#########################........................................................... +....................................#########################........................................................... +....................................#########################........................................................... +.....................................#######################............................................................ +.....................................#######################............................................................ +......................................#####################............................................................. +......................................#####################............................................................. +.......................................###################.............................................................. +........................................#################............................................................... +..........................................#############................................................................. +............................................#########................................................................... +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ + +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +............................................#########................................................................... +.........................................###############................................................................ +........................................#################............................................................... +.......................................###################.............................................................. +......................................#####################............................................................. +.....................................#######################............................................................ +....................................#########################........................................................... +...................................###########################.......................................................... +...................................###########################.......................................................... +...................................###########################.......................................................... +..................................#############################......................................................... +..................................#############################......................................................... +..................................#############################......................................................... +..................................#############################......................................................... +..................................#############################......................................................... +..................................#############################......................................................... +..................................#############################......................................................... +..................................#############################......................................................... +..................................#############################......................................................... +...................................###########################.......................................................... +...................................###########################.......................................................... +...................................###########################.......................................................... +....................................#########################........................................................... +.....................................#######################............................................................ +......................................#####################............................................................. +.......................................###################.............................................................. +........................................#################............................................................... +.........................................###############................................................................ +............................................#########................................................................... +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ + +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +.............................................#######.................................................................... +..........................................#############................................................................. +........................................#################............................................................... +......................................#####################............................................................. +.....................................#######################............................................................ +....................................#########################........................................................... +...................................###########################.......................................................... +...................................###########################.......................................................... +..................................#############################......................................................... +..................................#############################......................................................... +.................................###############################........................................................ +.................................###############################........................................................ +.................................###############################........................................................ +................................#################################....................................................... +................................#################################....................................................... +................................#################################....................................................... +................................#################################....................................................... +................................#################################....................................................... +................................#################################....................................................... +................................#################################....................................................... +.................................###############################........................................................ +.................................###############################........................................................ +.................................###############################........................................................ +..................................#############################......................................................... +..................................#############################......................................................... +...................................###########################.......................................................... +...................................###########################.......................................................... +....................................#########################........................................................... +.....................................#######################............................................................ +......................................#####################............................................................. +........................................#################............................................................... +..........................................#############................................................................. +.............................................#######.................................................................... +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ + +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +...........................................###########.................................................................. +........................................#################............................................................... +.......................................###################.............................................................. +.....................................#######################............................................................ +....................................#########################........................................................... +...................................###########################.......................................................... +..................................#############################......................................................... +..................................#############################......................................................... +.................................###############################........................................................ +................................#################################....................................................... +................................#################################....................................................... +................................#################################....................................................... +...............................###################################...................................................... +...............................###################################...................................................... +...............................###################################...................................................... +...............................###################################...................................................... +...............................###################################...................................................... +...............................###################################...................................................... +...............................###################################...................................................... +...............................###################################...................................................... +...............................###################################...................................................... +...............................###################################...................................................... +...............................###################################...................................................... +................................#################################....................................................... +................................#################################....................................................... +................................#################################....................................................... +.................................###############################........................................................ +..................................#############################......................................................... +..................................#############################......................................................... +...................................###########################.......................................................... +....................................#########################........................................................... +.....................................#######################............................................................ +.......................................###################.............................................................. +........................................#################............................................................... +...........................................###########.................................................................. +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ + +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +.............................................#######.................................................................... +..........................................#############................................................................. +.......................................###################.............................................................. +......................................#####################............................................................. +....................................#########################........................................................... +...................................###########################.......................................................... +..................................#############################......................................................... +.................................###############################........................................................ +.................................###############################........................................................ +................................#################################....................................................... +...............................###################################...................................................... +...............................###################################...................................................... +...............................###################################...................................................... +..............................#####################################..................................................... +..............................#####################################..................................................... +..............................#####################################..................................................... +.............................#######################################.................................................... +.............................#######################################.................................................... +.............................#######################################.................................................... +.............................#######################################.................................................... +.............................#######################################.................................................... +.............................#######################################.................................................... +.............................#######################################.................................................... +..............................#####################################..................................................... +..............................#####################################..................................................... +..............................#####################################..................................................... +...............................###################################...................................................... +...............................###################################...................................................... +...............................###################################...................................................... +................................#################################....................................................... +.................................###############################........................................................ +.................................###############################........................................................ +..................................#############################......................................................... +...................................###########################.......................................................... +....................................#########################........................................................... +......................................#####################............................................................. +.......................................###################.............................................................. +..........................................#############................................................................. +.............................................#######.................................................................... +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ + +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +............................................#########................................................................... +.........................................###############................................................................ +.......................................###################.............................................................. +.....................................#######################............................................................ +....................................#########################........................................................... +...................................###########################.......................................................... +..................................#############################......................................................... +.................................###############################........................................................ +................................#################################....................................................... +...............................###################################...................................................... +...............................###################################...................................................... +..............................#####################################..................................................... +..............................#####################################..................................................... +.............................#######################################.................................................... +.............................#######################################.................................................... +.............................#######################################.................................................... +............................#########################################................................................... +............................#########################################................................................... +............................#########################################................................................... +............................#########################################................................................... +............................#########################################................................................... +............................#########################################................................................... +............................#########################################................................................... +............................#########################################................................................... +............................#########################################................................................... +.............................#######################################.................................................... +.............................#######################################.................................................... +.............................#######################################.................................................... +..............................#####################################..................................................... +..............................#####################################..................................................... +...............................###################################...................................................... +...............................###################################...................................................... +................................#################################....................................................... +.................................###############################........................................................ +..................................#############################......................................................... +...................................###########################.......................................................... +....................................#########################........................................................... +.....................................#######################............................................................ +.......................................###################.............................................................. +.........................................###############................................................................ +............................................#########................................................................... +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ + +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +...........................................###########.................................................................. +........................................#################............................................................... +......................................#####################............................................................. +.....................................#######################............................................................ +...................................###########################.......................................................... +..................................#############################......................................................... +.................................###############################........................................................ +................................#################################....................................................... +...............................###################################...................................................... +...............................###################################...................................................... +..............................#####################################..................................................... +.............................#######################################.................................................... +.............................#######################################.................................................... +............................#########################################................................................... +............................#########################################................................................... +............................#########################################................................................... +...........................###########################################.................................................. +...........................###########################################.................................................. +...........................###########################################.................................................. +...........................###########################################.................................................. +...........................###########################################.................................................. +...........................###########################################.................................................. +...........................###########################################.................................................. +...........................###########################################.................................................. +...........................###########################################.................................................. +...........................###########################################.................................................. +...........................###########################################.................................................. +............................#########################################................................................... +............................#########################################................................................... +............................#########################################................................................... +.............................#######################################.................................................... +.............................#######################################.................................................... +..............................#####################################..................................................... +...............................###################################...................................................... +...............................###################################...................................................... +................................#################################....................................................... +.................................###############################........................................................ +..................................#############################......................................................... +...................................###########################.......................................................... +.....................................#######################............................................................ +......................................#####################............................................................. +........................................#################............................................................... +...........................................###########.................................................................. +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ + +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +...........................................###########.................................................................. +........................................#################............................................................... +......................................#####################............................................................. +....................................#########################........................................................... +...................................###########################.......................................................... +..................................#############################......................................................... +.................................###############################........................................................ +................................#################################....................................................... +...............................###################################...................................................... +..............................#####################################..................................................... +.............................#######################################.................................................... +.............................#######################################.................................................... +............................#########################################................................................... +............................#########################################................................................... +...........................###########################################.................................................. +...........................###########################################.................................................. +...........................###########################################.................................................. +..........................#############################################................................................. +..........................#############################################................................................. +..........................#############################################................................................. +..........................#############################################................................................. +..........................#############################################................................................. +..........................#############################################................................................. +..........................#############################################................................................. +..........................#############################################................................................. +..........................#############################################................................................. +..........................#############################################................................................. +..........................#############################################................................................. +...........................###########################################.................................................. +...........................###########################################.................................................. +...........................###########################################.................................................. +............................#########################################................................................... +............................#########################################................................................... +.............................#######################################.................................................... +.............................#######################################.................................................... +..............................#####################################..................................................... +...............................###################################...................................................... +................................#################################....................................................... +.................................###############################........................................................ +..................................#############################......................................................... +...................................###########################.......................................................... +....................................#########################........................................................... +......................................#####################............................................................. +........................................#################............................................................... +...........................................###########.................................................................. +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ + +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +...........................................###########.................................................................. +........................................#################............................................................... +......................................#####################............................................................. +....................................#########################........................................................... +...................................###########################.......................................................... +.................................###############################........................................................ +................................#################################....................................................... +...............................###################################...................................................... +..............................#####################################..................................................... +..............................#####################################..................................................... +.............................#######################################.................................................... +............................#########################################................................................... +............................#########################################................................................... +...........................###########################################.................................................. +...........................###########################################.................................................. +..........................#############################################................................................. +..........................#############################################................................................. +..........................#############################################................................................. +.........................###############################################................................................ +.........................###############################################................................................ +.........................###############################################................................................ +.........................###############################################................................................ +.........................###############################################................................................ +.........................###############################################................................................ +.........................###############################################................................................ +.........................###############################################................................................ +.........................###############################################................................................ +.........................###############################################................................................ +.........................###############################################................................................ +..........................#############################################................................................. +..........................#############################################................................................. +..........................#############################################................................................. +...........................###########################################.................................................. +...........................###########################################.................................................. +............................#########################################................................................... +............................#########################################................................................... +.............................#######################################.................................................... +..............................#####################################..................................................... +..............................#####################################..................................................... +...............................###################################...................................................... +................................#################################....................................................... +.................................###############################........................................................ +...................................###########################.......................................................... +....................................#########################........................................................... +......................................#####################............................................................. +........................................#################............................................................... +...........................................###########.................................................................. +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ + +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +............................................#########................................................................... +........................................#################............................................................... +......................................#####################............................................................. +....................................#########################........................................................... +..................................#############################......................................................... +.................................###############################........................................................ +................................#################################....................................................... +...............................###################################...................................................... +..............................#####################################..................................................... +.............................#######################################.................................................... +............................#########################################................................................... +............................#########################################................................................... +...........................###########################################.................................................. +...........................###########################################.................................................. +..........................#############################################................................................. +..........................#############################################................................................. +.........................###############################################................................................ +.........................###############################################................................................ +.........................###############################################................................................ +.........................###############################################................................................ +........................#################################################............................................... +........................#################################################............................................... +........................#################################################............................................... +........................#################################################............................................... +........................#################################################............................................... +........................#################################################............................................... +........................#################################################............................................... +........................#################################################............................................... +........................#################################################............................................... +.........................###############################################................................................ +.........................###############################################................................................ +.........................###############################################................................................ +.........................###############################################................................................ +..........................#############################################................................................. +..........................#############################################................................................. +...........................###########################################.................................................. +...........................###########################################.................................................. +............................#########################################................................................... +............................#########################################................................................... +.............................#######################################.................................................... +..............................#####################################..................................................... +...............................###################################...................................................... +................................#################################....................................................... +.................................###############################........................................................ +..................................#############################......................................................... +....................................#########################........................................................... +......................................#####################............................................................. +........................................#################............................................................... +............................................#########................................................................... +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ + +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +.............................................#######.................................................................... +........................................#################............................................................... +......................................#####################............................................................. +....................................#########################........................................................... +..................................#############################......................................................... +.................................###############################........................................................ +................................#################################....................................................... +...............................###################################...................................................... +..............................#####################################..................................................... +.............................#######################################.................................................... +............................#########################################................................................... +...........................###########################################.................................................. +...........................###########################################.................................................. +..........................#############################################................................................. +..........................#############################################................................................. +.........................###############################################................................................ +.........................###############################################................................................ +........................#################################################............................................... +........................#################################################............................................... +........................#################################################............................................... +........................#################################################............................................... +........................#################################################............................................... +.......................###################################################.............................................. +.......................###################################################.............................................. +.......................###################################################.............................................. +.......................###################################################.............................................. +.......................###################################################.............................................. +.......................###################################################.............................................. +.......................###################################################.............................................. +........................#################################################............................................... +........................#################################################............................................... +........................#################################################............................................... +........................#################################################............................................... +........................#################################################............................................... +.........................###############################################................................................ +.........................###############################################................................................ +..........................#############################################................................................. +..........................#############################################................................................. +...........................###########################################.................................................. +...........................###########################################.................................................. +............................#########################################................................................... +.............................#######################################.................................................... +..............................#####################################..................................................... +...............................###################################...................................................... +................................#################################....................................................... +.................................###############################........................................................ +..................................#############################......................................................... +....................................#########################........................................................... +......................................#####################............................................................. +........................................#################............................................................... +.............................................#######.................................................................... +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ + +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +..............................................#####..................................................................... +.........................................###############................................................................ +......................................#####################............................................................. +....................................#########################........................................................... +..................................#############################......................................................... +.................................###############################........................................................ +................................#################################....................................................... +...............................###################################...................................................... +..............................#####################################..................................................... +.............................#######################################.................................................... +............................#########################################................................................... +...........................###########################################.................................................. +..........................#############################################................................................. +..........................#############################################................................................. +.........................###############################################................................................ +.........................###############################################................................................ +........................#################################################............................................... +........................#################################################............................................... +........................#################################################............................................... +.......................###################################################.............................................. +.......................###################################################.............................................. +.......................###################################################.............................................. +.......................###################################################.............................................. +.......................###################################################.............................................. +......................#####################################################............................................. +......................#####################################################............................................. +......................#####################################################............................................. +......................#####################################################............................................. +......................#####################################################............................................. +.......................###################################################.............................................. +.......................###################################################.............................................. +.......................###################################################.............................................. +.......................###################################################.............................................. +.......................###################################################.............................................. +........................#################################################............................................... +........................#################################################............................................... +........................#################################################............................................... +.........................###############################################................................................ +.........................###############################################................................................ +..........................#############################################................................................. +..........................#############################################................................................. +...........................###########################################.................................................. +............................#########################################................................................... +.............................#######################################.................................................... +..............................#####################################..................................................... +...............................###################################...................................................... +................................#################################....................................................... +.................................###############################........................................................ +..................................#############################......................................................... +....................................#########################........................................................... +......................................#####################............................................................. +.........................................###############................................................................ +..............................................#####..................................................................... +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ + +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +..........................................#############................................................................. +.......................................###################.............................................................. +.....................................#######################............................................................ +...................................###########################.......................................................... +.................................###############################........................................................ +................................#################################....................................................... +...............................###################################...................................................... +..............................#####################################..................................................... +.............................#######################################.................................................... +............................#########################################................................................... +...........................###########################################.................................................. +..........................#############################################................................................. +..........................#############################################................................................. +.........................###############################################................................................ +.........................###############################################................................................ +........................#################################################............................................... +........................#################################################............................................... +.......................###################################################.............................................. +.......................###################################################.............................................. +.......................###################################################.............................................. +......................#####################################################............................................. +......................#####################################################............................................. +......................#####################################################............................................. +......................#####################################################............................................. +......................#####################################################............................................. +......................#####################################################............................................. +......................#####################################################............................................. +......................#####################################################............................................. +......................#####################################################............................................. +......................#####################################################............................................. +......................#####################################################............................................. +......................#####################################################............................................. +......................#####################################################............................................. +.......................###################################################.............................................. +.......................###################################################.............................................. +.......................###################################################.............................................. +........................#################################################............................................... +........................#################################################............................................... +.........................###############################################................................................ +.........................###############################################................................................ +..........................#############################################................................................. +..........................#############################################................................................. +...........................###########################################.................................................. +............................#########################################................................................... +.............................#######################################.................................................... +..............................#####################################..................................................... +...............................###################################...................................................... +................................#################################....................................................... +.................................###############################........................................................ +...................................###########################.......................................................... +.....................................#######################............................................................ +.......................................###################.............................................................. +..........................................#############................................................................. +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ + +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +...........................................###########.................................................................. +.......................................###################.............................................................. +.....................................#######################............................................................ +...................................###########################.......................................................... +.................................###############################........................................................ +................................#################################....................................................... +...............................###################################...................................................... +..............................#####################################..................................................... +.............................#######################################.................................................... +............................#########################################................................................... +...........................###########################################.................................................. +..........................#############################################................................................. +.........................###############################################................................................ +.........................###############################################................................................ +........................#################################################............................................... +........................#################################################............................................... +.......................###################################################.............................................. +.......................###################################################.............................................. +......................#####################################################............................................. +......................#####################################################............................................. +......................#####################################################............................................. +......................#####################################################............................................. +.....................#######################################################............................................ +.....................#######################################################............................................ +.....................#######################################################............................................ +.....................#######################################################............................................ +.....................#######################################################............................................ +.....................#######################################################............................................ +.....................#######################################################............................................ +.....................#######################################################............................................ +.....................#######################################################............................................ +.....................#######################################################............................................ +.....................#######################################################............................................ +......................#####################################################............................................. +......................#####################################################............................................. +......................#####################################################............................................. +......................#####################################################............................................. +.......................###################################################.............................................. +.......................###################################################.............................................. +........................#################################################............................................... +........................#################################################............................................... +.........................###############################################................................................ +.........................###############################################................................................ +..........................#############################################................................................. +...........................###########################################.................................................. +............................#########################################................................................... +.............................#######################################.................................................... +..............................#####################################..................................................... +...............................###################################...................................................... +................................#################################....................................................... +.................................###############################........................................................ +...................................###########################.......................................................... +.....................................#######################............................................................ +.......................................###################.............................................................. +...........................................###########.................................................................. +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ + +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +.............................................#######.................................................................... +........................................#################............................................................... +......................................#####################............................................................. +...................................###########################.......................................................... +..................................#############################......................................................... +................................#################################....................................................... +...............................###################################...................................................... +..............................#####################################..................................................... +.............................#######################################.................................................... +............................#########################################................................................... +...........................###########################################.................................................. +..........................#############################################................................................. +.........................###############################################................................................ +.........................###############################################................................................ +........................#################################################............................................... +.......................###################################################.............................................. +.......................###################################################.............................................. +.......................###################################################.............................................. +......................#####################################################............................................. +......................#####################################################............................................. +.....................#######################################################............................................ +.....................#######################################################............................................ +.....................#######################################################............................................ +.....................#######################################################............................................ +.....................#######################################################............................................ +....................#########################################################........................................... +....................#########################################################........................................... +....................#########################################################........................................... +....................#########################################################........................................... +....................#########################################################........................................... +....................#########################################################........................................... +....................#########################################################........................................... +.....................#######################################################............................................ +.....................#######################################################............................................ +.....................#######################################################............................................ +.....................#######################################################............................................ +.....................#######################################################............................................ +......................#####################################################............................................. +......................#####################################################............................................. +.......................###################################################.............................................. +.......................###################################################.............................................. +.......................###################################################.............................................. +........................#################################################............................................... +.........................###############################################................................................ +.........................###############################################................................................ +..........................#############################################................................................. +...........................###########################################.................................................. +............................#########################################................................................... +.............................#######################################.................................................... +..............................#####################################..................................................... +...............................###################################...................................................... +................................#################################....................................................... +..................................#############################......................................................... +...................................###########################.......................................................... +......................................#####################............................................................. +........................................#################............................................................... +.............................................#######.................................................................... +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ + +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +..........................................#############................................................................. +......................................#####################............................................................. +....................................#########################........................................................... +..................................#############################......................................................... +.................................###############################........................................................ +...............................###################################...................................................... +..............................#####################################..................................................... +.............................#######################################.................................................... +............................#########################################................................................... +...........................###########################################.................................................. +..........................#############################################................................................. +.........................###############################################................................................ +.........................###############################################................................................ +........................#################################################............................................... +.......................###################################################.............................................. +.......................###################################################.............................................. +......................#####################################################............................................. +......................#####################################################............................................. +.....................#######################################################............................................ +.....................#######################################################............................................ +.....................#######################################################............................................ +.....................#######################################################............................................ +....................#########################################################........................................... +....................#########################################################........................................... +....................#########################################################........................................... +....................#########################################################........................................... +....................#########################################################........................................... +....................#########################################################........................................... +....................#########################################################........................................... +....................#########################################################........................................... +....................#########################################################........................................... +....................#########################################################........................................... +....................#########################################################........................................... +....................#########################################################........................................... +....................#########################################################........................................... +.....................#######################################################............................................ +.....................#######################################################............................................ +.....................#######################################################............................................ +.....................#######################################################............................................ +......................#####################################################............................................. +......................#####################################################............................................. +.......................###################################################.............................................. +.......................###################################################.............................................. +........................#################################################............................................... +.........................###############################################................................................ +.........................###############################################................................................ +..........................#############################################................................................. +...........................###########################################.................................................. +............................#########################################................................................... +.............................#######################################.................................................... +..............................#####################################..................................................... +...............................###################################...................................................... +.................................###############################........................................................ +..................................#############################......................................................... +....................................#########################........................................................... +......................................#####################............................................................. +..........................................#############................................................................. +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ + +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +............................................#########................................................................... +........................................#################............................................................... +.....................................#######################............................................................ +...................................###########################.......................................................... +.................................###############################........................................................ +................................#################################....................................................... +..............................#####################################..................................................... +.............................#######################################.................................................... +............................#########################################................................................... +...........................###########################################.................................................. +..........................#############################################................................................. +.........................###############################################................................................ +.........................###############################################................................................ +........................#################################################............................................... +.......................###################################################.............................................. +.......................###################################################.............................................. +......................#####################################################............................................. +......................#####################################################............................................. +.....................#######################################################............................................ +.....................#######################################################............................................ +.....................#######################################################............................................ +....................#########################################################........................................... +....................#########################################################........................................... +....................#########################################################........................................... +....................#########################################################........................................... +...................###########################################################.......................................... +...................###########################################################.......................................... +...................###########################################################.......................................... +...................###########################################################.......................................... +...................###########################################################.......................................... +...................###########################################################.......................................... +...................###########################################################.......................................... +...................###########################################################.......................................... +...................###########################################################.......................................... +....................#########################################################........................................... +....................#########################################################........................................... +....................#########################################################........................................... +....................#########################################################........................................... +.....................#######################################################............................................ +.....................#######################################################............................................ +.....................#######################################################............................................ +......................#####################################################............................................. +......................#####################################################............................................. +.......................###################################################.............................................. +.......................###################################################.............................................. +........................#################################################............................................... +.........................###############################################................................................ +.........................###############################################................................................ +..........................#############################################................................................. +...........................###########################################.................................................. +............................#########################################................................................... +.............................#######################################.................................................... +..............................#####################################..................................................... +................................#################################....................................................... +.................................###############################........................................................ +...................................###########################.......................................................... +.....................................#######################............................................................ +........................................#################............................................................... +............................................#########................................................................... +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ + +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +.........................................###############................................................................ +......................................#####################............................................................. +....................................#########################........................................................... +..................................#############################......................................................... +................................#################################....................................................... +...............................###################################...................................................... +.............................#######################################.................................................... +............................#########################################................................................... +...........................###########################################.................................................. +..........................#############################################................................................. +.........................###############################################................................................ +.........................###############################################................................................ +........................#################################################............................................... +.......................###################################################.............................................. +.......................###################################################.............................................. +......................#####################################################............................................. +......................#####################################################............................................. +.....................#######################################################............................................ +.....................#######################################################............................................ +....................#########################################################........................................... +....................#########################################################........................................... +....................#########################################################........................................... +...................###########################################################.......................................... +...................###########################################################.......................................... +...................###########################################################.......................................... +...................###########################################################.......................................... +...................###########################################################.......................................... +...................###########################################################.......................................... +...................###########################################################.......................................... +...................###########################################################.......................................... +...................###########################################################.......................................... +...................###########################################################.......................................... +...................###########################################################.......................................... +...................###########################################################.......................................... +...................###########################################################.......................................... +...................###########################################################.......................................... +...................###########################################################.......................................... +....................#########################################################........................................... +....................#########################################################........................................... +....................#########################################################........................................... +.....................#######################################################............................................ +.....................#######################################################............................................ +......................#####################################################............................................. +......................#####################################################............................................. +.......................###################################################.............................................. +.......................###################################################.............................................. +........................#################################################............................................... +.........................###############################################................................................ +.........................###############################################................................................ +..........................#############################################................................................. +...........................###########################################.................................................. +............................#########################################................................................... +.............................#######################################.................................................... +...............................###################################...................................................... +................................#################################....................................................... +..................................#############################......................................................... +....................................#########################........................................................... +......................................#####################............................................................. +.........................................###############................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ + +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +...........................................###########.................................................................. +.......................................###################.............................................................. +.....................................#######################............................................................ +..................................#############################......................................................... +.................................###############################........................................................ +...............................###################################...................................................... +..............................#####################################..................................................... +.............................#######################################.................................................... +...........................###########################################.................................................. +..........................#############################################................................................. +..........................#############################################................................................. +.........................###############################################................................................ +........................#################################################............................................... +.......................###################################################.............................................. +.......................###################################################.............................................. +......................#####################################################............................................. +.....................#######################################################............................................ +.....................#######################################################............................................ +.....................#######################################################............................................ +....................#########################################################........................................... +....................#########################################################........................................... +...................###########################################################.......................................... +...................###########################################################.......................................... +...................###########################################################.......................................... +...................###########################################################.......................................... +..................#############################################################......................................... +..................#############################################################......................................... +..................#############################################################......................................... +..................#############################################################......................................... +..................#############################################################......................................... +..................#############################################################......................................... +..................#############################################################......................................... +..................#############################################################......................................... +..................#############################################################......................................... +..................#############################################################......................................... +..................#############################################################......................................... +...................###########################################################.......................................... +...................###########################################################.......................................... +...................###########################################################.......................................... +...................###########################################################.......................................... +....................#########################################################........................................... +....................#########################################################........................................... +.....................#######################################################............................................ +.....................#######################################################............................................ +.....................#######################################################............................................ +......................#####################################################............................................. +.......................###################################################.............................................. +.......................###################################################.............................................. +........................#################################################............................................... +.........................###############################################................................................ +..........................#############################################................................................. +..........................#############################################................................................. +...........................###########################################.................................................. +.............................#######################################.................................................... +..............................#####################################..................................................... +...............................###################################...................................................... +.................................###############################........................................................ +..................................#############################......................................................... +.....................................#######################............................................................ +.......................................###################.............................................................. +...........................................###########.................................................................. +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ + +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +.........................................###############................................................................ +......................................#####################............................................................. +...................................###########################.......................................................... +.................................###############################........................................................ +................................#################################....................................................... +..............................#####################################..................................................... +.............................#######################################.................................................... +............................#########################################................................................... +...........................###########################################.................................................. +..........................#############################################................................................. +.........................###############################################................................................ +........................#################################################............................................... +.......................###################################################.............................................. +.......................###################################################.............................................. +......................#####################################################............................................. +.....................#######################################################............................................ +.....................#######################################################............................................ +....................#########################################################........................................... +....................#########################################################........................................... +....................#########################################################........................................... +...................###########################################################.......................................... +...................###########################################################.......................................... +...................###########################################################.......................................... +..................#############################################################......................................... +..................#############################################################......................................... +..................#############################################################......................................... +..................#############################################################......................................... +..................#############################################################......................................... +..................#############################################################......................................... +..................#############################################################......................................... +..................#############################################################......................................... +..................#############################################################......................................... +..................#############################################################......................................... +..................#############################################################......................................... +..................#############################################################......................................... +..................#############################################################......................................... +..................#############################################################......................................... +..................#############################################################......................................... +...................###########################################################.......................................... +...................###########################################################.......................................... +...................###########################################################.......................................... +....................#########################################################........................................... +....................#########################################################........................................... +....................#########################################################........................................... +.....................#######################################################............................................ +.....................#######################################################............................................ +......................#####################################################............................................. +.......................###################################################.............................................. +.......................###################################################.............................................. +........................#################################################............................................... +.........................###############################################................................................ +..........................#############################################................................................. +...........................###########################################.................................................. +............................#########################################................................................... +.............................#######################################.................................................... +..............................#####################################..................................................... +................................#################################....................................................... +.................................###############################........................................................ +...................................###########################.......................................................... +......................................#####################............................................................. +.........................................###############................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ + +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +...........................................###########.................................................................. +.......................................###################.............................................................. +....................................#########################........................................................... +..................................#############################......................................................... +................................#################################....................................................... +...............................###################################...................................................... +.............................#######################################.................................................... +............................#########################################................................................... +...........................###########################################.................................................. +..........................#############################################................................................. +.........................###############################################................................................ +........................#################################################............................................... +.......................###################################################.............................................. +.......................###################################################.............................................. +......................#####################################################............................................. +.....................#######################################################............................................ +.....................#######################################################............................................ +....................#########################################################........................................... +....................#########################################################........................................... +...................###########################################################.......................................... +...................###########################################################.......................................... +...................###########################################################.......................................... +..................#############################################################......................................... +..................#############################################################......................................... +..................#############################################################......................................... +..................#############################################################......................................... +.................###############################################################........................................ +.................###############################################################........................................ +.................###############################################################........................................ +.................###############################################################........................................ +.................###############################################################........................................ +.................###############################################################........................................ +.................###############################################################........................................ +.................###############################################################........................................ +.................###############################################################........................................ +.................###############################################################........................................ +.................###############################################################........................................ +..................#############################################################......................................... +..................#############################################################......................................... +..................#############################################################......................................... +..................#############################################################......................................... +...................###########################################################.......................................... +...................###########################################################.......................................... +...................###########################################################.......................................... +....................#########################################################........................................... +....................#########################################################........................................... +.....................#######################################################............................................ +.....................#######################################################............................................ +......................#####################################################............................................. +.......................###################################################.............................................. +.......................###################################################.............................................. +........................#################################################............................................... +.........................###############################################................................................ +..........................#############################################................................................. +...........................###########################################.................................................. +............................#########################################................................................... +.............................#######################################.................................................... +...............................###################################...................................................... +................................#################################....................................................... +..................................#############################......................................................... +....................................#########################........................................................... +.......................................###################.............................................................. +...........................................###########.................................................................. +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ + +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +.........................................###############................................................................ +......................................#####################............................................................. +...................................###########################.......................................................... +.................................###############################........................................................ +................................#################################....................................................... +..............................#####################################..................................................... +.............................#######################################.................................................... +............................#########################################................................................... +..........................#############################################................................................. +.........................###############################################................................................ +.........................###############################################................................................ +........................#################################################............................................... +.......................###################################################.............................................. +......................#####################################################............................................. +......................#####################################################............................................. +.....................#######################################################............................................ +....................#########################################################........................................... +....................#########################################################........................................... +...................###########################################################.......................................... +...................###########################################################.......................................... +...................###########################################################.......................................... +..................#############################################################......................................... +..................#############################################################......................................... +..................#############################################################......................................... +.................###############################################################........................................ +.................###############################################################........................................ +.................###############################################################........................................ +.................###############################################################........................................ +.................###############################################################........................................ +.................###############################################################........................................ +.................###############################################################........................................ +.................###############################################################........................................ +.................###############################################################........................................ +.................###############################################################........................................ +.................###############################################################........................................ +.................###############################################################........................................ +.................###############################################################........................................ +.................###############################################################........................................ +.................###############################################################........................................ +..................#############################################################......................................... +..................#############################################################......................................... +..................#############################################################......................................... +...................###########################################################.......................................... +...................###########################################################.......................................... +...................###########################################################.......................................... +....................#########################################################........................................... +....................#########################################################........................................... +.....................#######################################################............................................ +......................#####################################################............................................. +......................#####################################################............................................. +.......................###################################################.............................................. +........................#################################################............................................... +.........................###############################################................................................ +.........................###############################################................................................ +..........................#############################################................................................. +............................#########################################................................................... +.............................#######################################.................................................... +..............................#####################################..................................................... +................................#################################....................................................... +.................................###############################........................................................ +...................................###########################.......................................................... +......................................#####################............................................................. +.........................................###############................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ + +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +.............................................#######.................................................................... +........................................#################............................................................... +.....................................#######################............................................................ +..................................#############################......................................................... +.................................###############################........................................................ +...............................###################################...................................................... +.............................#######################################.................................................... +............................#########################################................................................... +...........................###########################################.................................................. +..........................#############################################................................................. +.........................###############################################................................................ +........................#################################################............................................... +.......................###################################################.............................................. +......................#####################################################............................................. +......................#####################################################............................................. +.....................#######################################################............................................ +.....................#######################################################............................................ +....................#########################################################........................................... +...................###########################################################.......................................... +...................###########################################################.......................................... +...................###########################################################.......................................... +..................#############################################################......................................... +..................#############################################################......................................... +..................#############################################################......................................... +.................###############################################################........................................ +.................###############################################################........................................ +.................###############################################################........................................ +.................###############################################################........................................ +.................###############################################################........................................ +................#################################################################....................................... +................#################################################################....................................... +................#################################################################....................................... +................#################################################################....................................... +................#################################################################....................................... +................#################################################################....................................... +................#################################################################....................................... +.................################################################################....................................... +.................###############################################################........................................ +.................###############################################################........................................ +.................###############################################################........................................ +.................###############################################################........................................ +..................#############################################################......................................... +..................#############################################################......................................... +..................#############################################################......................................... +...................###########################################################.......................................... +...................###########################################################.......................................... +...................###########################################################.......................................... +....................#########################################################........................................... +.....................########################################################........................................... +.....................#######################################################............................................ +......................#####################################################............................................. +......................#####################################################............................................. +.......................###################################################.............................................. +........................#################################################............................................... +.........................###############################################................................................ +..........................#############################################................................................. +...........................###########################################.................................................. +............................#########################################................................................... +.............................#######################################.................................................... +...............................###################################...................................................... +.................................################################....................................................... +..................................#############################......................................................... +.....................................#######################............................................................ +........................................#################............................................................... +.............................................########................................................................... +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ + +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +..........................................#############................................................................. +......................................#####################............................................................. +....................................#########################........................................................... +..................................#############################......................................................... +................................#################################....................................................... +..............................#####################################..................................................... +.............................#######################################.................................................... +............................#########################################................................................... +..........................#############################################................................................. +.........................###############################################................................................ +........................#################################################............................................... +........................#################################################............................................... +.......................###################################################.............................................. +......................#####################################################............................................. +.....................#######################################################............................................ +.....................#######################################################............................................ +....................#########################################################........................................... +....................#########################################################........................................... +...................###########################################################.......................................... +...................###########################################################.......................................... +..................#############################################################......................................... +..................#############################################################......................................... +.................###############################################################........................................ +.................###############################################################........................................ +.................###############################################################........................................ +.................###############################################################........................................ +................#################################################################....................................... +................#################################################################....................................... +................#################################################################....................................... +................#################################################################....................................... +................#################################################################....................................... +................#################################################################....................................... +................#################################################################....................................... +................#################################################################....................................... +................#################################################################....................................... +................#################################################################....................................... +................#################################################################....................................... +................#################################################################....................................... +................#################################################################....................................... +.................###############################################################........................................ +.................###############################################################........................................ +.................###############################################################........................................ +.................###############################################################........................................ +..................#############################################################......................................... +..................#############################################################......................................... +...................###########################################################.......................................... +...................###########################################################.......................................... +....................#########################################################........................................... +....................#########################################################........................................... +.....................#######################################################............................................ +.....................#######################################################............................................ +......................#####################################################............................................. +.......................###################################################.............................................. +........................#################################################............................................... +........................#################################################............................................... +.........................###############################################................................................ +..........................#############################################................................................. +............................#########################################................................................... +.............................#######################################.................................................... +..............................#####################################..................................................... +................................#################################....................................................... +..................................#############################......................................................... +....................................#########################........................................................... +......................................#####################............................................................. +..........................................#############................................................................. +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ + +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................#################............................................................... +.....................................#######################............................................................ +...................................###########################.......................................................... +.................................###############################........................................................ +...............................###################################...................................................... +..............................#####################################..................................................... +............................#########################################................................................... +...........................###########################################.................................................. +..........................#############################################................................................. +.........................###############################################................................................ +........................#################################################............................................... +.......................###################################################.............................................. +......................#####################################################............................................. +......................#####################################################............................................. +.....................#######################################################............................................ +....................#########################################################........................................... +....................#########################################################........................................... +...................###########################################################.......................................... +...................###########################################################.......................................... +..................#############################################################......................................... +..................#############################################################......................................... +.................###############################################################........................................ +.................###############################################################........................................ +.................###############################################################........................................ +................#################################################################....................................... +................#################################################################....................................... +................#################################################################....................................... +................#################################################################....................................... +................#################################################################....................................... +................#################################################################....................................... +................#################################################################....................................... +................#################################################################....................................... +................#################################################################....................................... +................#################################################################....................................... +................#################################################################....................................... +................#################################################################....................................... +................#################################################################....................................... +................#################################################################....................................... +................#################################################################....................................... +................#################################################################....................................... +................#################################################################....................................... +.................###############################################################........................................ +.................###############################################################........................................ +.................###############################################################........................................ +..................#############################################################......................................... +..................#############################################################......................................... +...................###########################################################.......................................... +...................###########################################################.......................................... +....................#########################################################........................................... +....................#########################################################........................................... +.....................#######################################################............................................ +......................#####################################################............................................. +......................#####################################################............................................. +.......................###################################################.............................................. +........................#################################################............................................... +.........................###############################################................................................ +..........................#############################################................................................. +...........................###########################################.................................................. +............................#########################################................................................... +..............................#####################################..................................................... +...............................###################################...................................................... +.................................###############################........................................................ +...................................###########################.......................................................... +.....................................#######################............................................................ +........................................#################............................................................... +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ + +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +............................................#########................................................................... +.......................................###################.............................................................. +....................................#########################........................................................... +..................................#############################......................................................... +................................#################################....................................................... +..............................#####################################..................................................... +.............................#######################################.................................................... +............................#########################################................................................... +..........................#############################################................................................. +.........................###############################################................................................ +........................#################################################............................................... +.......................###################################################.............................................. +.......................###################################################.............................................. +......................#####################################################............................................. +.....................#######################################################............................................ +....................#########################################################........................................... +....................#########################################################........................................... +...................###########################################################.......................................... +...................###########################################################.......................................... +..................#############################################################......................................... +..................#############################################################......................................... +.................###############################################################........................................ +.................###############################################################........................................ +.................###############################################################........................................ +................#################################################################....................................... +................#################################################################....................................... +................#################################################################....................................... +................#################################################################....................................... +................#################################################################....................................... +...............###################################################################...................................... +...............###################################################################...................................... +...............###################################################################...................................... +...............###################################################################...................................... +...............###################################################################...................................... +...............###################################################################...................................... +...............###################################################################...................................... +...............###################################################################...................................... +...............###################################################################...................................... +................#################################################################....................................... +................#################################################################....................................... +................#################################################################....................................... +................#################################################################....................................... +................#################################################################....................................... +.................###############################################################........................................ +.................###############################################################........................................ +.................###############################################################........................................ +..................#############################################################......................................... +..................#############################################################......................................... +...................###########################################################.......................................... +...................###########################################################.......................................... +....................#########################################################........................................... +....................#########################################################........................................... +.....................#######################################################............................................ +......................#####################################################............................................. +.......................###################################################.............................................. +.......................###################################################.............................................. +........................#################################################............................................... +.........................###############################################................................................ +..........................#############################################................................................. +............................#########################################................................................... +.............................#######################################.................................................... +..............................#####################################..................................................... +................................#################################....................................................... +..................................#############################......................................................... +....................................#########################........................................................... +.......................................###################.............................................................. +............................................#########................................................................... +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ + +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +..........................................#############................................................................. +......................................#####################............................................................. +...................................###########################.......................................................... +.................................###############################........................................................ +...............................###################################...................................................... +..............................#####################################..................................................... +............................#########################################................................................... +...........................###########################################.................................................. +..........................#############################################................................................. +.........................###############################################................................................ +........................#################################################............................................... +.......................###################################################.............................................. +......................#####################################################............................................. +.....................#######################################################............................................ +.....................#######################################################............................................ +....................#########################################################........................................... +...................###########################################################.......................................... +...................###########################################################.......................................... +..................#############################################################......................................... +..................#############################################################......................................... +.................###############################################################........................................ +.................###############################################################........................................ +.................###############################################################........................................ +................#################################################################....................................... +................#################################################################....................................... +................#################################################################....................................... +................#################################################################....................................... +...............###################################################################...................................... +...............###################################################################...................................... +...............###################################################################...................................... +...............###################################################################...................................... +...............###################################################################...................................... +...............###################################################################...................................... +...............###################################################################...................................... +...............###################################################################...................................... +...............###################################################################...................................... +...............###################################################################...................................... +...............###################################################################...................................... +...............###################################################################...................................... +...............###################################################################...................................... +................#################################################################....................................... +................#################################################################....................................... +................#################################################################....................................... +................#################################################################....................................... +.................###############################################################........................................ +.................###############################################################........................................ +.................###############################################################........................................ +..................#############################################################......................................... +..................#############################################################......................................... +...................###########################################################.......................................... +...................###########################################################.......................................... +....................#########################################################........................................... +.....................#######################################################............................................ +.....................#######################################################............................................ +......................#####################################################............................................. +.......................###################################################.............................................. +........................#################################################............................................... +.........................###############################################................................................ +..........................#############################################................................................. +...........................###########################################.................................................. +............................#########################################................................................... +..............................#####################################..................................................... +...............................###################################...................................................... +.................................###############################........................................................ +...................................###########################.......................................................... +......................................#####################............................................................. +..........................................#############................................................................. +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ + +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +.........................................###############................................................................ +.....................................#######################............................................................ +...................................###########################.......................................................... +.................................###############################........................................................ +...............................###################################...................................................... +.............................#######################################.................................................... +............................#########################################................................................... +...........................###########################################.................................................. +..........................#############################################................................................. +.........................###############################################................................................ +........................#################################################............................................... +.......................###################################################.............................................. +......................#####################################################............................................. +.....................#######################################################............................................ +....................#########################################################........................................... +....................#########################################################........................................... +...................###########################################################.......................................... +...................###########################################################.......................................... +..................#############################################################......................................... +..................#############################################################......................................... +.................###############################################################........................................ +.................###############################################################........................................ +................#################################################################....................................... +................#################################################################....................................... +................#################################################################....................................... +................#################################################################....................................... +...............###################################################################...................................... +...............###################################################################...................................... +...............###################################################################...................................... +...............###################################################################...................................... +...............###################################################################...................................... +...............###################################################################...................................... +...............###################################################################...................................... +...............###################################################################...................................... +...............###################################################################...................................... +...............###################################################################...................................... +...............###################################################################...................................... +...............###################################################################...................................... +...............###################################################################...................................... +...............###################################################################...................................... +...............###################################################################...................................... +................#################################################################....................................... +................#################################################################....................................... +................#################################################################....................................... +................#################################################################....................................... +.................###############################################################........................................ +.................###############################################################........................................ +..................#############################################################......................................... +..................#############################################################......................................... +...................###########################################################.......................................... +...................###########################################################.......................................... +....................#########################################################........................................... +....................#########################################################........................................... +.....................#######################################################............................................ +......................#####################################################............................................. +.......................###################################################.............................................. +........................#################################################............................................... +.........................################################################............................................... +..........................#############################################................................................. +...........................###########################################.................................................. +............................#########################################................................................... +.............................#######################################.................................................... +...............................###################################...................................................... +.................................###############################........................................................ +...................................###########################.......................................................... +.....................................#######################............................................................ +.........................................###############................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ + +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +.............................................#######.................................................................... +.......................................###################.............................................................. +....................................#########################........................................................... +..................................#############################......................................................... +................................#################################....................................................... +..............................#####################################..................................................... +.............................#######################################.................................................... +...........................###########################################.................................................. +..........................#############################################................................................. +.........................###############################################................................................ +........................#################################################............................................... +.......................###################################################.............................................. +......................#####################################################............................................. +.....................#######################################################............................................ +.....................#######################################################............................................ +....................#########################################################........................................... +...................###########################################################.......................................... +...................###########################################################.......................................... +..................#############################################################......................................... +..................#############################################################......................................... +.................###############################################################........................................ +.................###############################################################........................................ +................#################################################################....................................... +................#################################################################....................................... +................#################################################################....................................... +...............###################################################################...................................... +...............###################################################################...................................... +...............###################################################################...................................... +...............###################################################################...................................... +...............###################################################################...................................... +...............###################################################################...................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +...............###################################################################...................................... +...............###################################################################...................................... +...............###################################################################...................................... +...............###################################################################...................................... +...............###################################################################...................................... +...............###################################################################...................................... +................#################################################################....................................... +................#################################################################....................................... +................#################################################################....................................... +.................###############################################################........................................ +.................###############################################################........................................ +..................#############################################################......................................... +..................#############################################################......................................... +...................###########################################################.......................................... +...................###########################################################.......................................... +....................#########################################################........................................... +.....................#######################################################............................................ +.....................#######################################################............................................ +......................#####################################################............................................. +.......................###################################################.............................................. +........................#################################################............................................... +.........................###############################################................................................ +..........................#############################################................................................. +...........................###########################################.................................................. +.............................#######################################.................................................... +..............................#####################################..................................................... +................................#################################....................................................... +..................................#############################......................................................... +....................................#########################........................................................... +.......................................###################.............................................................. +.............................................#######.................................................................... +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ + +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +...........................................###########.................................................................. +.......................................###################.............................................................. +....................................#########################........................................................... +.................................###############################........................................................ +................................#################################....................................................... +..............................#####################################..................................................... +............................#########################################................................................... +...........................###########################################.................................................. +..........................#############################################................................................. +.........................###############################################................................................ +........................#################################################............................................... +.......................###################################################.............................................. +......................#####################################################............................................. +.....................#######################################################............................................ +....................#########################################################........................................... +....................#########################################################........................................... +...................###########################################################.......................................... +...................###########################################################.......................................... +..................#############################################################......................................... +.................###############################################################........................................ +.................###############################################################........................................ +.................###############################################################........................................ +................#################################################################....................................... +................#################################################################....................................... +................#################################################################....................................... +...............###################################################################...................................... +...............###################################################################...................................... +...............###################################################################...................................... +...............###################################################################...................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +...............###################################################################...................................... +...............###################################################################...................................... +...............###################################################################...................................... +...............###################################################################...................................... +................#################################################################....................................... +................#################################################################....................................... +................#################################################################....................................... +.................###############################################################........................................ +.................###############################################################........................................ +.................###############################################################........................................ +..................#############################################################......................................... +...................###########################################################.......................................... +...................###########################################################.......................................... +....................#########################################################........................................... +....................#########################################################........................................... +.....................#######################################################............................................ +......................#####################################################............................................. +.......................###################################################.............................................. +........................#################################################............................................... +.........................###############################################................................................ +..........................#############################################................................................. +...........................###########################################.................................................. +............................#########################################................................................... +..............................#####################################..................................................... +................................#################################....................................................... +.................................###############################........................................................ +....................................#########################........................................................... +.......................................###################.............................................................. +...........................................###########.................................................................. +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ + +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +..........................................#############................................................................. +......................................#####################............................................................. +...................................###########################.......................................................... +.................................###############################........................................................ +...............................###################################...................................................... +.............................#######################################.................................................... +............................#########################################................................................... +...........................###########################################.................................................. +..........................#############################################................................................. +........................#################################################............................................... +.......................###################################################.............................................. +.......................###################################################.............................................. +......................#####################################################............................................. +.....................#######################################################............................................ +....................#########################################################........................................... +...................###########################################################.......................................... +...................###########################################################.......................................... +..................#############################################################......................................... +..................#############################################################......................................... +.................###############################################################........................................ +.................###############################################################........................................ +................#################################################################....................................... +................#################################################################....................................... +................#################################################################....................................... +...............###################################################################...................................... +...............###################################################################...................................... +...............###################################################################...................................... +...............###################################################################...................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +...............###################################################################...................................... +...............###################################################################...................................... +...............###################################################################...................................... +...............###################################################################...................................... +................#################################################################....................................... +................#################################################################....................................... +................#################################################################....................................... +.................###############################################################........................................ +.................###############################################################........................................ +..................#############################################################......................................... +..................#############################################################......................................... +...................###########################################################.......................................... +...................###########################################################.......................................... +....................#########################################################........................................... +.....................#######################################################............................................ +......................#####################################################............................................. +.......................###################################################.............................................. +.......................###################################################.............................................. +........................#################################################............................................... +..........................#############################################................................................. +...........................###########################################.................................................. +............................#########################################................................................... +.............................#######################################.................................................... +...............................###################################...................................................... +.................................###############################........................................................ +...................................###########################.......................................................... +......................................#####################............................................................. +..........................................#############................................................................. +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ + +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +.........................................###############................................................................ +.....................................#######################............................................................ +...................................###########################.......................................................... +................................#################################....................................................... +...............................###################################...................................................... +.............................#######################################.................................................... +............................#########################################................................................... +..........................#############################################................................................. +.........................###############################################................................................ +........................#################################################............................................... +.......................###################################################.............................................. +......................#####################################################............................................. +.....................#######################################################............................................ +.....................#######################################################............................................ +....................#########################################################........................................... +...................###########################################################.......................................... +...................###########################################################.......................................... +..................#############################################################......................................... +.................###############################################################........................................ +.................###############################################################........................................ +.................###############################################################........................................ +................#################################################################....................................... +................#################################################################....................................... +...............###################################################################...................................... +...............###################################################################...................................... +...............###################################################################...................................... +...............###################################################################...................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +...............###################################################################...................................... +...............###################################################################...................................... +...............###################################################################...................................... +...............###################################################################...................................... +................#################################################################....................................... +................#################################################################....................................... +.................###############################################################........................................ +.................###############################################################........................................ +.................###############################################################........................................ +..................#############################################################......................................... +...................###########################################################.......................................... +...................###########################################################.......................................... +....................#########################################################........................................... +.....................#######################################################............................................ +.....................#######################################################............................................ +......................#####################################################............................................. +.......................###################################################.............................................. +........................#################################################............................................... +.........................###############################################................................................ +..........................#############################################................................................. +............................#########################################................................................... +.............................#######################################.................................................... +...............................###################################...................................................... +................................#################################....................................................... +...................................###########################.......................................................... +.....................................#######################............................................................ +.........................................###############................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ + +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +..............................................#####..................................................................... +........................................#################............................................................... +.....................................#######################............................................................ +..................................#############################......................................................... +................................#################################....................................................... +..............................#####################################..................................................... +.............................#######################################.................................................... +...........................###########################################.................................................. +..........................#############################################................................................. +.........................###############################################................................................ +........................#################################################............................................... +.......................###################################################.............................................. +......................#####################################################............................................. +.....................#######################################################............................................ +....................#########################################################........................................... +....................#########################################################........................................... +...................###########################################################.......................................... +..................#############################################################......................................... +..................#############################################################......................................... +.................###############################################################........................................ +.................###############################################################........................................ +................#################################################################....................................... +................#################################################################....................................... +................#################################################################....................................... +...............###################################################################...................................... +...............###################################################################...................................... +...............###################################################################...................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +...............###################################################################...................................... +...............###################################################################...................................... +...............###################################################################...................................... +................#################################################################....................................... +................#################################################################....................................... +................#################################################################....................................... +.................###############################################################........................................ +.................###############################################################........................................ +..................#############################################################......................................... +..................#############################################################......................................... +...................###########################################################.......................................... +....................#########################################################........................................... +....................#########################################################........................................... +.....................#######################################################............................................ +......................#####################################################............................................. +.......................###################################################.............................................. +........................#################################################............................................... +.........................###############################################................................................ +..........................#############################################................................................. +...........................###########################################.................................................. +.............................#######################################.................................................... +..............................#####################################..................................................... +................................#################################....................................................... +..................................#############################......................................................... +.....................................#######################............................................................ +........................................#################............................................................... +..............................................#####..................................................................... +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ + +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +............................................#########................................................................... +.......................................###################.............................................................. +....................................#########################........................................................... +..................................#############################......................................................... +................................#################################....................................................... +..............................#####################################..................................................... +............................#########################################................................................... +...........................###########################################.................................................. +..........................#############################################................................................. +.........................###############################################................................................ +........................#################################################............................................... +.......................###################################################.............................................. +......................#####################################################............................................. +.....................#######################################################............................................ +....................#########################################################........................................... +...................###########################################################.......................................... +...................###########################################################.......................................... +..................#############################################################......................................... +..................#############################################################......................................... +.................###############################################################........................................ +.................###############################################################........................................ +................#################################################################....................................... +................#################################################################....................................... +...............###################################################################...................................... +...............###################################################################...................................... +...............###################################################################...................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +...............###################################################################...................................... +...............###################################################################...................................... +...............###################################################################...................................... +................#################################################################....................................... +................#################################################################....................................... +.................###############################################################........................................ +.................###############################################################........................................ +..................#############################################################......................................... +..................#############################################################......................................... +...................###########################################################.......................................... +...................###########################################################.......................................... +....................#########################################################........................................... +.....................#######################################################............................................ +......................#####################################################............................................. +.......................###################################################.............................................. +........................#################################################............................................... +.........................###############################################................................................ +..........................#############################################................................................. +...........................###########################################.................................................. +............................#########################################................................................... +..............................#####################################..................................................... +................................#################################....................................................... +..................................#############################......................................................... +....................................#########################........................................................... +.......................................###################.............................................................. +............................................#########................................................................... +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ + +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +...........................................###########.................................................................. +.......................................###################.............................................................. +....................................#########################........................................................... +.................................###############################........................................................ +...............................###################################...................................................... +..............................#####################################..................................................... +............................#########################################................................................... +...........................###########################################.................................................. +..........................#############################################................................................. +........................#################################################............................................... +.......................###################################################.............................................. +......................#####################################################............................................. +......................#####################################################............................................. +.....................#######################################################............................................ +....................#########################################################........................................... +...................###########################################################.......................................... +...................###########################################################.......................................... +..................#############################################################......................................... +.................###############################################################........................................ +.................###############################################################........................................ +................#################################################################....................................... +................#################################################################....................................... +................#################################################################....................................... +...............###################################################################...................................... +...............###################################################################...................................... +...............###################################################################...................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +...............###################################################################...................................... +...............###################################################################...................................... +...............###################################################################...................................... +................#################################################################....................................... +................#################################################################....................................... +................#################################################################....................................... +.................###############################################################........................................ +.................###############################################################........................................ +..................#############################################################......................................... +...................###########################################################.......................................... +...................###########################################################.......................................... +....................#########################################################........................................... +.....................#######################################################............................................ +......................#####################################################............................................. +......................#####################################################............................................. +.......................###################################################.............................................. +........................#################################################............................................... +..........................#############################################................................................. +...........................###########################################.................................................. +............................#########################################................................................... +..............................#####################################..................................................... +...............................###################################...................................................... +.................................###############################........................................................ +....................................#########################........................................................... +.......................................###################.............................................................. +...........................................###########.................................................................. +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ + +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +..........................................#############................................................................. +......................................#####################............................................................. +...................................###########################.......................................................... +.................................###############################........................................................ +...............................###################################...................................................... +.............................#######################################.................................................... +............................#########################################................................................... +...........................###########################################.................................................. +.........................###############################################................................................ +........................#################################################............................................... +.......................###################################################.............................................. +......................#####################################################............................................. +.....................#######################################################............................................ +.....................#######################################################............................................ +....................#########################################################........................................... +...................###########################################################.......................................... +..................#############################################################......................................... +..................#############################################################......................................... +.................###############################################################........................................ +.................###############################################################........................................ +................#################################################################....................................... +................#################################################################....................................... +...............###################################################################...................................... +...............###################################################################...................................... +...............###################################################################...................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +...............###################################################################...................................... +...............###################################################################...................................... +...............###################################################################...................................... +................#################################################################....................................... +................#################################################################....................................... +.................###############################################################........................................ +.................###############################################################........................................ +..................#############################################################......................................... +..................#############################################################......................................... +...................###########################################################.......................................... +....................#########################################################........................................... +.....................#######################################################............................................ +.....................#######################################################............................................ +......................#####################################################............................................. +.......................###################################################.............................................. +........................#################################################............................................... +.........................###############################################................................................ +...........................###########################################.................................................. +............................#########################################................................................... +.............................#######################################.................................................... +...............................###################################...................................................... +.................................###############################........................................................ +...................................###########################.......................................................... +......................................#####################............................................................. +..........................................#############................................................................. +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ + +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +..........................................#############................................................................. +......................................#####################............................................................. +...................................###########################.......................................................... +.................................###############################........................................................ +...............................###################################...................................................... +.............................#######################################.................................................... +............................#########################################................................................... +..........................#############################################................................................. +.........................###############################################................................................ +........................#################################################............................................... +.......................###################################################.............................................. +......................#####################################################............................................. +.....................#######################################################............................................ +....................#########################################################........................................... +....................#########################################################........................................... +...................###########################################################.......................................... +..................#############################################################......................................... +..................#############################################################......................................... +.................###############################################################........................................ +.................###############################################################........................................ +................#################################################################....................................... +................#################################################################....................................... +...............###################################################################...................................... +...............###################################################################...................................... +...............###################################################################...................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +...............###################################################################...................................... +...............###################################################################...................................... +...............###################################################################...................................... +................#################################################################....................................... +................#################################################################....................................... +.................###############################################################........................................ +.................###############################################################........................................ +..................#############################################################......................................... +..................#############################################################......................................... +...................###########################################################.......................................... +....................#########################################################........................................... +....................#########################################################........................................... +.....................#######################################################............................................ +......................#####################################################............................................. +.......................###################################################.............................................. +........................#################################################............................................... +.........................###############################################................................................ +..........................#############################################................................................. +............................#########################################................................................... +.............................#######################################.................................................... +...............................###################################...................................................... +.................................###############################........................................................ +...................................###########################.......................................................... +......................................#####################............................................................. +..........................................#############................................................................. +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ + +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +.........................................###############................................................................ +.....................................#######################............................................................ +...................................###########################.......................................................... +.................................###############################........................................................ +...............................###################################...................................................... +.............................#######################################.................................................... +............................#########################################................................................... +..........................#############################################................................................. +.........................###############################################................................................ +........................#################################################............................................... +.......................###################################################.............................................. +......................#####################################################............................................. +.....................#######################################################............................................ +....................#########################################################........................................... +....................#########################################################........................................... +...................###########################################################.......................................... +..................#############################################################......................................... +..................#############################################################......................................... +.................###############################################################........................................ +.................################################################################....................................... +................#################################################################....................................... +................#################################################################....................................... +...............###################################################################...................................... +...............###################################################################...................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +...............###################################################################...................................... +...............###################################################################...................................... +................#################################################################....................................... +................#################################################################....................................... +.................################################################################....................................... +.................###############################################################........................................ +..................#############################################################......................................... +..................#############################################################......................................... +...................###########################################################.......................................... +....................#########################################################........................................... +....................#########################################################........................................... +.....................#######################################################............................................ +......................#####################################################............................................. +.......................###################################################.............................................. +........................#################################################............................................... +.........................###############################################................................................ +..........................#############################################................................................. +............................#########################################................................................... +.............................#######################################.................................................... +...............................###################################...................................................... +................................#################################....................................................... +...................................###########################.......................................................... +.....................................#######################............................................................ +.........................................###############................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ + +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +.........................................###############................................................................ +.....................................#######################............................................................ +..................................#############################......................................................... +................................#################################....................................................... +..............................#####################################..................................................... +.............................#######################################.................................................... +...........................###########################################.................................................. +..........................#############################################................................................. +.........................###############################################................................................ +........................#################################################............................................... +.......................###################################################.............................................. +......................#####################################################............................................. +.....................#######################################################............................................ +....................#########################################################........................................... +...................###########################################################.......................................... +...................###########################################################.......................................... +..................#############################################################......................................... +.................###############################################################........................................ +.................###############################################################........................................ +................#################################################################....................................... +................#################################################################....................................... +...............###################################################################...................................... +...............###################################################################...................................... +...............###################################################################...................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +...............###################################################################...................................... +...............###################################################################...................................... +...............###################################################################...................................... +................#################################################################....................................... +................#################################################################....................................... +.................###############################################################........................................ +.................###############################################################........................................ +..................#############################################################......................................... +...................###########################################################.......................................... +...................###########################################################.......................................... +....................#########################################################........................................... +.....................#######################################################............................................ +......................#####################################################............................................. +.......................###################################################.............................................. +........................#################################################............................................... +.........................###############################################................................................ +..........................#############################################................................................. +...........................###########################################.................................................. +.............................#######################################.................................................... +..............................#####################################..................................................... +................................#################################....................................................... +..................................#############################......................................................... +.....................................#######################............................................................ +.........................................###############................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ + +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................#################............................................................... +.....................................#######################............................................................ +..................................#############################......................................................... +................................#################################....................................................... +..............................#####################################..................................................... +.............................#######################################.................................................... +...........................###########################################.................................................. +..........................#############################################................................................. +.........................###############################################................................................ +........................#################################################............................................... +.......................###################################################.............................................. +......................#####################################################............................................. +.....................#######################################################............................................ +....................#########################################################........................................... +...................###########################################################.......................................... +...................###########################################################.......................................... +..................#############################################################......................................... +.................###############################################################........................................ +.................###############################################################........................................ +................#################################################################....................................... +................#################################################################....................................... +...............###################################################################...................................... +...............###################################################################...................................... +...............###################################################################...................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +...............###################################################################...................................... +...............###################################################################...................................... +...............###################################################################...................................... +................#################################################################....................................... +................#################################################################....................................... +.................###############################################################........................................ +.................###############################################################........................................ +..................#############################################################......................................... +...................###########################################################.......................................... +...................###########################################################.......................................... +....................#########################################################........................................... +.....................#######################################################............................................ +......................#####################################################............................................. +.......................###################################################.............................................. +........................#################################################............................................... +.........................###############################################................................................ +..........................#############################################................................................. +...........................###########################################.................................................. +.............................#######################################.................................................... +..............................#####################################..................................................... +................................#################################....................................................... +..................................#############################......................................................... +.....................................#######################............................................................ +........................................#################............................................................... +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ + +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................#################............................................................... +.....................................#######################............................................................ +..................................#############################......................................................... +................................#################################....................................................... +..............................#####################################..................................................... +.............................#######################################.................................................... +...........................###########################################.................................................. +..........................#############################################................................................. +.........................###############################################................................................ +........................#################################################............................................... +.......................###################################################.............................................. +......................#####################################################............................................. +.....................#######################################################............................................ +....................#########################################################........................................... +...................###########################################################.......................................... +...................###########################################################.......................................... +..................#############################################################......................................... +.................###############################################################........................................ +.................###############################################################........................................ +................#################################################################....................................... +................#################################################################....................................... +...............###################################################################...................................... +...............###################################################################...................................... +...............###################################################################...................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +...............###################################################################...................................... +...............###################################################################...................................... +...............###################################################################...................................... +................#################################################################....................................... +................#################################################################....................................... +.................###############################################################........................................ +.................###############################################################........................................ +..................#############################################################......................................... +...................###########################################################.......................................... +...................###########################################################.......................................... +....................#########################################################........................................... +.....................#######################################################............................................ +......................#####################################################............................................. +.......................###################################################.............................................. +........................#################################################............................................... +.........................###############################################................................................ +..........................#############################################................................................. +...........................###########################################.................................................. +.............................#######################################.................................................... +..............................#####################################..................................................... +................................#################################....................................................... +..................................#############################......................................................... +.....................................#######################............................................................ +........................................#################............................................................... +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ + +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................#################............................................................... +.....................................#######################............................................................ +..................................#############################......................................................... +................................#################################....................................................... +..............................#####################################..................................................... +.............................#######################################.................................................... +...........................###########################################.................................................. +..........................#############################################................................................. +.........................###############################################................................................ +........................#################################################............................................... +.......................###################################################.............................................. +......................#####################################################............................................. +.....................#######################################################............................................ +....................#########################################################........................................... +...................###########################################################.......................................... +...................###########################################################.......................................... +..................#############################################################......................................... +.................###############################################################........................................ +.................###############################################################........................................ +................#################################################################....................................... +................#################################################################....................................... +...............###################################################################...................................... +...............###################################################################...................................... +...............###################################################################...................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +...............###################################################################...................................... +...............###################################################################...................................... +...............###################################################################...................................... +................#################################################################....................................... +................#################################################################....................................... +.................###############################################################........................................ +.................###############################################################........................................ +..................#############################################################......................................... +...................###########################################################.......................................... +...................###########################################################.......................................... +....................#########################################################........................................... +.....................#######################################################............................................ +......................#####################################################............................................. +.......................###################################################.............................................. +........................#################################################............................................... +.........................###############################################................................................ +..........................#############################################................................................. +...........................###########################################.................................................. +.............................#######################################.................................................... +..............................#####################################..................................................... +................................#################################....................................................... +..................................#############################......................................................... +.....................................#######################............................................................ +........................................#################............................................................... +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ + +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................#################............................................................... +.....................................#######################............................................................ +..................................#############################......................................................... +................................#################################....................................................... +..............................#####################################..................................................... +.............................#######################################.................................................... +...........................###########################################.................................................. +..........................#############################################................................................. +.........................###############################################................................................ +........................#################################################............................................... +.......................###################################################.............................................. +......................#####################################################............................................. +.....................#######################################################............................................ +....................#########################################################........................................... +...................###########################################################.......................................... +...................###########################################################.......................................... +..................#############################################################......................................... +.................###############################################################........................................ +.................###############################################################........................................ +................#################################################################....................................... +................#################################################################....................................... +...............###################################################################...................................... +...............###################################################################...................................... +...............###################################################################...................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............########################################################################................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +...............###################################################################...................................... +...............###################################################################...................................... +...............###################################################################...................................... +................#################################################################....................................... +................#################################################################....................................... +.................###############################################################........................................ +.................###############################################################........................................ +..................#############################################################......................................... +...................###########################################################.......................................... +...................###########################################################.......................................... +....................#########################################################........................................... +.....................#######################################################............................................ +......................#####################################################............................................. +.......................###################################################.............................................. +........................#################################################............................................... +.........................###############################################................................................ +..........................#############################################................................................. +...........................###########################################.................................................. +.............................#######################################.................................................... +..............................#####################################..................................................... +................................#################################....................................................... +..................................#############################......................................................... +.....................................#######################............................................................ +........................................#################............................................................... +................................................#....................................................................... +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ + +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................#################............................................................... +.....................................#######################............................................................ +..................................#############################......................................................... +................................#################################....................................................... +..............................#####################################..................................................... +.............................#######################################.................................................... +...........................###########################################.................................................. +..........................#############################################................................................. +.........................###############################################................................................ +........................#################################################............................................... +.......................###################################################.............................................. +......................#####################################################............................................. +.....................#######################################################............................................ +....................#########################################################........................................... +...................###########################################################.......................................... +...................###########################################################.......................................... +..................#############################################################......................................... +.................###############################################################........................................ +.................###############################################################........................................ +................#################################################################....................................... +................#################################################################....................................... +...............###################################################################...................................... +...............###################################################################...................................... +...............###################################################################...................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +...............###################################################################...................................... +...............###################################################################...................................... +...............###################################################################...................................... +................#################################################################....................................... +................#################################################################....................................... +.................###############################################################........................................ +.................###############################################################........................................ +..................#############################################################......................................... +...................###########################################################.......................................... +...................###########################################################.......................................... +....................#########################################################........................................... +.....................#######################################################............................................ +......................#####################################################............................................. +.......................###################################################.............................................. +........................#################################################............................................... +.........................###############################################................................................ +..........................#############################################................................................. +...........................###########################################.................................................. +.............................#######################################.................................................... +..............................#####################################..................................................... +................................#################################....................................................... +..................................#############################......................................................... +.....................................#######################............................................................ +........................................#################............................................................... +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ + +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................#################............................................................... +.....................................#######################............................................................ +..................................#############################......................................................... +................................#################################....................................................... +..............................#####################################..................................................... +.............................#######################################.................................................... +...........................###########################################.................................................. +..........................#############################################................................................. +.........................###############################################................................................ +........................#################################################............................................... +.......................###################################################.............................................. +......................#####################################################............................................. +.....................#######################################################............................................ +....................#########################################################........................................... +...................###########################################################.......................................... +...................###########################################################.......................................... +..................#############################################################......................................... +.................###############################################################........................................ +.................###############################################################........................................ +................#################################################################....................................... +................#################################################################....................................... +...............###################################################################...................................... +...............###################################################################...................................... +...............###################################################################...................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +...............###################################################################...................................... +...............###################################################################...................................... +...............###################################################################...................................... +................#################################################################....................................... +................#################################################################....................................... +.................###############################################################........................................ +.................###############################################################........................................ +..................#############################################################......................................... +...................###########################################################.......................................... +...................###########################################################.......................................... +....................#########################################################........................................... +.....................#######################################################............................................ +......................#####################################################............................................. +.......................###################################################.............................................. +........................#################################################............................................... +.........................###############################################................................................ +..........................#############################################................................................. +...........................###########################################.................................................. +.............................#######################################.................................................... +..............................#####################################..................................................... +................................#################################....................................................... +..................................#############################......................................................... +.....................................#######################............................................................ +........................................#################............................................................... +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ + +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................#################............................................................... +.....................................#######################............................................................ +..................................#############################......................................................... +................................#################################....................................................... +..............................#####################################..................................................... +.............................#######################################.................................................... +...........................###########################################.................................................. +..........................#############################################................................................. +.........................###############################################................................................ +........................#################################################............................................... +.......................###################################################.............................................. +......................#####################################################............................................. +.....................#######################################################............................................ +....................#########################################################........................................... +...................###########################################################.......................................... +...................###########################################################.......................................... +..................#############################################################......................................... +.................###############################################################........................................ +.................###############################################################........................................ +................#################################################################....................................... +................#################################################################....................................... +...............###################################################################...................................... +...............###################################################################...................................... +...............###################################################################...................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +...............###################################################################...................................... +...............###################################################################...................................... +...............###################################################################...................................... +................#################################################################....................................... +................#################################################################....................................... +.................###############################################################........................................ +.................###############################################################........................................ +..................#############################################################......................................... +...................###########################################################.......................................... +...................###########################################################.......................................... +....................#########################################################........................................... +.....................#######################################################............................................ +......................#####################################################............................................. +.......................###################################################.............................................. +........................#################################################............................................... +.........................###############################################................................................ +..........................#############################################................................................. +...........................###########################################.................................................. +.............................#######################################.................................................... +..............................#####################################..................................................... +................................#################################....................................................... +..................................#############################......................................................... +.....................................#######################............................................................ +........................................#################............................................................... +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ + +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +.........................................###############................................................................ +.....................................#######################............................................................ +..................................#############################......................................................... +................................#################################....................................................... +..............................#####################################..................................................... +.............................#######################################.................................................... +...........................###########################################.................................................. +..........................#############################################................................................. +.........................###############################################................................................ +........................#################################################............................................... +.......................###################################################.............................................. +......................#####################################################............................................. +.....................#######################################################............................................ +....................#########################################################........................................... +...................###########################################################.......................................... +...................###########################################################.......................................... +..................#############################################################......................................... +.................###############################################################........................................ +.................###############################################################........................................ +................#################################################################....................................... +................#################################################################....................................... +...............###################################################################...................................... +...............###################################################################...................................... +...............###################################################################...................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +...............###################################################################...................................... +...............###################################################################...................................... +...............###################################################################...................................... +................#################################################################....................................... +................#################################################################....................................... +.................###############################################################........................................ +.................###############################################################........................................ +..................#############################################################......................................... +...................###########################################################.......................................... +...................###########################################################.......................................... +....................#########################################################........................................... +.....................#######################################################............................................ +......................#####################################################............................................. +.......................###################################################.............................................. +........................#################################################............................................... +.........................###############################################................................................ +..........................#############################################................................................. +...........................###########################################.................................................. +.............................#######################################.................................................... +..............................#####################################..................................................... +................................#################################....................................................... +..................................#############################......................................................... +.....................................#######################............................................................ +.........................................###############................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ + +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +.........................................###############................................................................ +.....................................#######################............................................................ +...................................###########################.......................................................... +.................................###############################........................................................ +...............................###################################...................................................... +.............................#######################################.................................................... +............................#########################################................................................... +..........................#############################################................................................. +.........................###############################################................................................ +........................#################################################............................................... +.......................###################################################.............................................. +......................#####################################################............................................. +.....................#######################################################............................................ +....................#########################################################........................................... +....................#########################################################........................................... +...................###########################################################.......................................... +..................#############################################################......................................... +..................#############################################################......................................... +.................###############################################################........................................ +.................################################################################....................................... +................#################################################################....................................... +................#################################################################....................................... +...............###################################################################...................................... +...............###################################################################...................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +...............###################################################################...................................... +...............###################################################################...................................... +................#################################################################....................................... +................#################################################################....................................... +.................################################################################....................................... +.................###############################################################........................................ +..................#############################################################......................................... +..................#############################################################......................................... +...................###########################################################.......................................... +....................#########################################################........................................... +....................#########################################################........................................... +.....................#######################################################............................................ +......................#####################################################............................................. +.......................###################################################.............................................. +........................#################################################............................................... +.........................###############################################................................................ +..........................#############################################................................................. +............................#########################################................................................... +.............................#######################################.................................................... +...............................###################################...................................................... +................................#################################....................................................... +...................................###########################.......................................................... +.....................................#######################............................................................ +.........................................###############................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ + +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +..........................................#############................................................................. +......................................#####################............................................................. +...................................###########################.......................................................... +.................................###############################........................................................ +...............................###################################...................................................... +.............................#######################################.................................................... +............................#########################################................................................... +..........................#############################################................................................. +.........................###############################################................................................ +........................#################################################............................................... +.......................###################################################.............................................. +......................#####################################################............................................. +.....................#######################################################............................................ +....................#########################################################........................................... +....................#########################################################........................................... +...................###########################################################.......................................... +..................#############################################################......................................... +..................#############################################################......................................... +.................###############################################################........................................ +.................###############################################################........................................ +................#################################################################....................................... +................#################################################################....................................... +...............###################################################################...................................... +...............###################################################################...................................... +...............###################################################################...................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +...............###################################################################...................................... +...............###################################################################...................................... +...............###################################################################...................................... +................#################################################################....................................... +................#################################################################....................................... +.................###############################################################........................................ +.................###############################################################........................................ +..................#############################################################......................................... +..................#############################################################......................................... +...................###########################################################.......................................... +....................#########################################################........................................... +....................#########################################################........................................... +.....................#######################################################............................................ +......................#####################################################............................................. +.......................###################################################.............................................. +........................#################################################............................................... +.........................###############################################................................................ +..........................#############################################................................................. +............................#########################################................................................... +.............................#######################################.................................................... +...............................###################################...................................................... +.................................###############################........................................................ +...................................###########################.......................................................... +......................................#####################............................................................. +..........................................#############................................................................. +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ + +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +..........................................#############................................................................. +......................................#####################............................................................. +...................................###########################.......................................................... +.................................###############################........................................................ +...............................###################################...................................................... +.............................#######################################.................................................... +............................#########################################................................................... +...........................###########################################.................................................. +.........................###############################################................................................ +........................#################################################............................................... +.......................###################################################.............................................. +......................#####################################################............................................. +.....................#######################################################............................................ +.....................#######################################################............................................ +....................#########################################################........................................... +...................###########################################################.......................................... +..................#############################################################......................................... +..................#############################################################......................................... +.................###############################################################........................................ +.................###############################################################........................................ +................#################################################################....................................... +................#################################################################....................................... +...............###################################################################...................................... +...............###################################################################...................................... +...............###################################################################...................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +...............###################################################################...................................... +...............###################################################################...................................... +...............###################################################################...................................... +................#################################################################....................................... +................#################################################################....................................... +.................###############################################################........................................ +.................###############################################################........................................ +..................#############################################################......................................... +..................#############################################################......................................... +...................###########################################################.......................................... +....................#########################################################........................................... +.....................#######################################################............................................ +.....................#######################################################............................................ +......................#####################################################............................................. +.......................###################################################.............................................. +........................#################################################............................................... +.........................###############################################................................................ +...........................###########################################.................................................. +............................#########################################................................................... +.............................#######################################.................................................... +...............................###################################...................................................... +.................................###############################........................................................ +...................................###########################.......................................................... +......................................#####################............................................................. +..........................................#############................................................................. +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ + +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +...........................................###########.................................................................. +.......................................###################.............................................................. +....................................#########################........................................................... +.................................###############################........................................................ +...............................###################################...................................................... +..............................#####################################..................................................... +............................#########################################................................................... +...........................###########################################.................................................. +..........................#############################################................................................. +........................#################################################............................................... +.......................###################################################.............................................. +......................#####################################################............................................. +......................#####################################################............................................. +.....................#######################################################............................................ +....................#########################################################........................................... +...................###########################################################.......................................... +...................###########################################################.......................................... +..................#############################################################......................................... +.................###############################################################........................................ +.................###############################################################........................................ +................#################################################################....................................... +................#################################################################....................................... +................#################################################################....................................... +...............###################################################################...................................... +...............###################################################################...................................... +...............###################################################################...................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +...............###################################################################...................................... +...............###################################################################...................................... +...............###################################################################...................................... +................#################################################################....................................... +................#################################################################....................................... +................#################################################################....................................... +.................###############################################################........................................ +.................###############################################################........................................ +..................#############################################################......................................... +...................###########################################################.......................................... +...................###########################################################.......................................... +....................#########################################################........................................... +.....................#######################################################............................................ +......................#####################################################............................................. +......................#####################################################............................................. +.......................###################################################.............................................. +........................#################################################............................................... +..........................#############################################................................................. +...........................###########################################.................................................. +............................#########################################................................................... +..............................#####################################..................................................... +...............................###################################...................................................... +.................................###############################........................................................ +....................................#########################........................................................... +.......................................###################.............................................................. +...........................................###########.................................................................. +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ + +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +............................................#########................................................................... +.......................................###################.............................................................. +....................................#########################........................................................... +..................................#############################......................................................... +................................#################################....................................................... +..............................#####################################..................................................... +............................#########################################................................................... +...........................###########################################.................................................. +..........................#############################################................................................. +.........................###############################################................................................ +........................#################################################............................................... +.......................###################################################.............................................. +......................#####################################################............................................. +.....................#######################################################............................................ +....................#########################################################........................................... +...................###########################################################.......................................... +...................###########################################################.......................................... +..................#############################################################......................................... +..................#############################################################......................................... +.................###############################################################........................................ +.................###############################################################........................................ +................#################################################################....................................... +................#################################################################....................................... +...............###################################################################...................................... +...............###################################################################...................................... +...............###################################################################...................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +...............###################################################################...................................... +...............###################################################################...................................... +...............###################################################################...................................... +................#################################################################....................................... +................#################################################################....................................... +.................###############################################################........................................ +.................###############################################################........................................ +..................#############################################################......................................... +..................#############################################################......................................... +...................###########################################################.......................................... +...................###########################################################.......................................... +....................#########################################################........................................... +.....................#######################################################............................................ +......................#####################################################............................................. +.......................###################################################.............................................. +........................#################################################............................................... +.........................###############################################................................................ +..........................#############################################................................................. +...........................###########################################.................................................. +............................#########################################................................................... +..............................#####################################..................................................... +................................#################################....................................................... +..................................#############################......................................................... +....................................#########################........................................................... +.......................................###################.............................................................. +............................................#########................................................................... +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ + +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +..............................................#####..................................................................... +........................................#################............................................................... +.....................................#######################............................................................ +..................................#############################......................................................... +................................#################################....................................................... +..............................#####################################..................................................... +.............................#######################################.................................................... +...........................###########################################.................................................. +..........................#############################################................................................. +.........................###############################################................................................ +........................#################################################............................................... +.......................###################################################.............................................. +......................#####################################################............................................. +.....................#######################################################............................................ +....................#########################################################........................................... +....................#########################################################........................................... +...................###########################################################.......................................... +..................#############################################################......................................... +..................#############################################################......................................... +.................###############################################################........................................ +.................###############################################################........................................ +................#################################################################....................................... +................#################################################################....................................... +................#################################################################....................................... +...............###################################################################...................................... +...............###################################################################...................................... +...............###################################################################...................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +.............#######################################################################.................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +...............###################################################################...................................... +...............###################################################################...................................... +...............###################################################################...................................... +................#################################################################....................................... +................#################################################################....................................... +................#################################################################....................................... +.................###############################################################........................................ +.................###############################################################........................................ +..................#############################################################......................................... +..................#############################################################......................................... +...................###########################################################.......................................... +....................#########################################################........................................... +....................#########################################################........................................... +.....................#######################################################............................................ +......................#####################################################............................................. +.......................###################################################.............................................. +........................#################################################............................................... +.........................###############################################................................................ +..........................#############################################................................................. +...........................###########################################.................................................. +.............................#######################################.................................................... +..............................#####################################..................................................... +................................#################################....................................................... +..................................#############################......................................................... +.....................................#######################............................................................ +........................................#################............................................................... +..............................................#####..................................................................... +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ + +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +.........................................###############................................................................ +.....................................#######################............................................................ +...................................###########################.......................................................... +................................#################################....................................................... +...............................###################################...................................................... +.............................#######################################.................................................... +............................#########################################................................................... +..........................#############################################................................................. +.........................###############################################................................................ +........................#################################################............................................... +.......................###################################################.............................................. +......................#####################################################............................................. +.....................#######################################################............................................ +.....................#######################################################............................................ +....................#########################################################........................................... +...................###########################################################.......................................... +...................###########################################################.......................................... +..................#############################################################......................................... +.................###############################################################........................................ +.................###############################################################........................................ +.................###############################################################........................................ +................#################################################################....................................... +................#################################################################....................................... +...............###################################################################...................................... +...............###################################################################...................................... +...............###################################################################...................................... +...............###################################################################...................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +...............###################################################################...................................... +...............###################################################################...................................... +...............###################################################################...................................... +...............###################################################################...................................... +................#################################################################....................................... +................#################################################################....................................... +.................###############################################################........................................ +.................###############################################################........................................ +.................###############################################################........................................ +..................#############################################################......................................... +...................###########################################################.......................................... +...................###########################################################.......................................... +....................#########################################################........................................... +.....................#######################################################............................................ +.....................#######################################################............................................ +......................#####################################################............................................. +.......................###################################################.............................................. +........................#################################################............................................... +.........................###############################################................................................ +..........................#############################################................................................. +............................#########################################................................................... +.............................#######################################.................................................... +...............................###################################...................................................... +................................#################################....................................................... +...................................###########################.......................................................... +.....................................#######################............................................................ +.........................................###############................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ + +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +..........................................#############................................................................. +......................................#####################............................................................. +...................................###########################.......................................................... +.................................###############################........................................................ +...............................###################################...................................................... +.............................#######################################.................................................... +............................#########################################................................................... +...........................###########################################.................................................. +..........................#############################################................................................. +........................#################################################............................................... +.......................###################################################.............................................. +.......................###################################################.............................................. +......................#####################################################............................................. +.....................#######################################################............................................ +....................#########################################################........................................... +...................###########################################################.......................................... +...................###########################################################.......................................... +..................#############################################################......................................... +..................#############################################################......................................... +.................###############################################################........................................ +.................###############################################################........................................ +................#################################################################....................................... +................#################################################################....................................... +................#################################################################....................................... +...............###################################################################...................................... +...............###################################################################...................................... +...............###################################################################...................................... +...............###################################################################...................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +...............###################################################################...................................... +...............###################################################################...................................... +...............###################################################################...................................... +...............###################################################################...................................... +................#################################################################....................................... +................#################################################################....................................... +................#################################################################....................................... +.................###############################################################........................................ +.................###############################################################........................................ +..................#############################################################......................................... +..................#############################################################......................................... +...................###########################################################.......................................... +...................###########################################################.......................................... +....................#########################################################........................................... +.....................#######################################################............................................ +......................#####################################################............................................. +.......................###################################################.............................................. +.......................###################################################.............................................. +........................#################################################............................................... +..........................#############################################................................................. +...........................###########################################.................................................. +............................#########################################................................................... +.............................#######################################.................................................... +...............................###################################...................................................... +.................................###############################........................................................ +...................................###########################.......................................................... +......................................#####################............................................................. +..........................................#############................................................................. +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ + +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +...........................................###########.................................................................. +.......................................###################.............................................................. +....................................#########################........................................................... +.................................###############################........................................................ +................................#################################....................................................... +..............................#####################################..................................................... +............................#########################################................................................... +...........................###########################################.................................................. +..........................#############################################................................................. +.........................###############################################................................................ +........................#################################################............................................... +.......................###################################################.............................................. +......................#####################################################............................................. +.....................#######################################################............................................ +....................#########################################################........................................... +....................#########################################################........................................... +...................###########################################################.......................................... +...................###########################################################.......................................... +..................#############################################################......................................... +.................###############################################################........................................ +.................###############################################################........................................ +.................###############################################################........................................ +................#################################################################....................................... +................#################################################################....................................... +................#################################################################....................................... +...............###################################################################...................................... +...............###################################################################...................................... +...............###################################################################...................................... +...............###################################################################...................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +...............###################################################################...................................... +...............###################################################################...................................... +...............###################################################################...................................... +...............###################################################################...................................... +................#################################################################....................................... +................#################################################################....................................... +................#################################################################....................................... +.................###############################################################........................................ +.................###############################################################........................................ +.................###############################################################........................................ +..................#############################################################......................................... +...................###########################################################.......................................... +...................###########################################################.......................................... +....................#########################################################........................................... +....................#########################################################........................................... +.....................#######################################################............................................ +......................#####################################################............................................. +.......................###################################################.............................................. +........................#################################################............................................... +.........................###############################################................................................ +..........................#############################################................................................. +...........................###########################################.................................................. +............................#########################################................................................... +..............................#####################################..................................................... +................................#################################....................................................... +.................................###############################........................................................ +....................................#########################........................................................... +.......................................###################.............................................................. +...........................................###########.................................................................. +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ + +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +.............................................#######.................................................................... +.......................................###################.............................................................. +....................................#########################........................................................... +..................................#############################......................................................... +................................#################################....................................................... +..............................#####################################..................................................... +.............................#######################################.................................................... +...........................###########################################.................................................. +..........................#############################################................................................. +.........................###############################################................................................ +........................#################################################............................................... +.......................###################################################.............................................. +......................#####################################################............................................. +.....................#######################################################............................................ +.....................#######################################################............................................ +....................#########################################################........................................... +...................###########################################################.......................................... +...................###########################################################.......................................... +..................#############################################################......................................... +..................#############################################################......................................... +.................###############################################################........................................ +.................###############################################################........................................ +................#################################################################....................................... +................#################################################################....................................... +................#################################################################....................................... +...............###################################################################...................................... +...............###################################################################...................................... +...............###################################################################...................................... +...............###################################################################...................................... +...............###################################################################...................................... +...............###################################################################...................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +..............#####################################################################..................................... +...............###################################################################...................................... +...............###################################################################...................................... +...............###################################################################...................................... +...............###################################################################...................................... +...............###################################################################...................................... +...............###################################################################...................................... +................#################################################################....................................... +................#################################################################....................................... +................#################################################################....................................... +.................###############################################################........................................ +.................###############################################################........................................ +..................#############################################################......................................... +..................#############################################################......................................... +...................###########################################################.......................................... +...................###########################################################.......................................... +....................#########################################################........................................... +.....................#######################################################............................................ +.....................#######################################################............................................ +......................#####################################################............................................. +.......................###################################################.............................................. +........................#################################################............................................... +.........................###############################################................................................ +..........................#############################################................................................. +...........................###########################################.................................................. +.............................#######################################.................................................... +..............................#####################################..................................................... +................................#################################....................................................... +..................................#############################......................................................... +....................................#########################........................................................... +.......................................###################.............................................................. +.............................................#######.................................................................... +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ + +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +.........................................###############................................................................ +.....................................#######################............................................................ +...................................###########################.......................................................... +.................................###############################........................................................ +...............................###################################...................................................... +.............................#######################################.................................................... +............................#########################################................................................... +...........................###########################################.................................................. +..........................#############################################................................................. +.........................###############################################................................................ +........................#################################################............................................... +.......................###################################################.............................................. +......................#####################################################............................................. +.....................#######################################################............................................ +....................#########################################################........................................... +....................#########################################################........................................... +...................###########################################################.......................................... +...................###########################################################.......................................... +..................#############################################################......................................... +..................#############################################################......................................... +.................###############################################################........................................ +.................###############################################################........................................ +................#################################################################....................................... +................#################################################################....................................... +................#################################################################....................................... +................#################################################################....................................... +...............###################################################################...................................... +...............###################################################################...................................... +...............###################################################################...................................... +...............###################################################################...................................... +...............###################################################################...................................... +...............###################################################################...................................... +...............###################################################################...................................... +...............###################################################################...................................... +...............###################################################################...................................... +...............###################################################################...................................... +...............###################################################################...................................... +...............###################################################################...................................... +...............###################################################################...................................... +...............###################################################################...................................... +...............###################################################################...................................... +................#################################################################....................................... +................#################################################################....................................... +................#################################################################....................................... +................#################################################################....................................... +.................###############################################################........................................ +.................###############################################################........................................ +..................#############################################################......................................... +..................#############################################################......................................... +...................###########################################################.......................................... +...................###########################################################.......................................... +....................#########################################################........................................... +....................#########################################################........................................... +.....................#######################################################............................................ +......................#####################################################............................................. +.......................###################################################.............................................. +........................#################################################............................................... +.........................################################################............................................... +..........................#############################################................................................. +...........................###########################################.................................................. +............................#########################################................................................... +.............................#######################################.................................................... +...............................###################################...................................................... +.................................###############################........................................................ +...................................###########################.......................................................... +.....................................#######################............................................................ +.........................................###############................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ + +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +..........................................#############................................................................. +......................................#####################............................................................. +...................................###########################.......................................................... +.................................###############################........................................................ +...............................###################################...................................................... +..............................#####################################..................................................... +............................#########################################................................................... +...........................###########################################.................................................. +..........................#############################################................................................. +.........................###############################################................................................ +........................#################################################............................................... +.......................###################################################.............................................. +......................#####################################################............................................. +.....................#######################################################............................................ +.....................#######################################################............................................ +....................#########################################################........................................... +...................###########################################################.......................................... +...................###########################################################.......................................... +..................#############################################################......................................... +..................#############################################################......................................... +.................###############################################################........................................ +.................###############################################################........................................ +.................###############################################################........................................ +................#################################################################....................................... +................#################################################################....................................... +................#################################################################....................................... +................#################################################################....................................... +...............###################################################################...................................... +...............###################################################################...................................... +...............###################################################################...................................... +...............###################################################################...................................... +...............###################################################################...................................... +...............###################################################################...................................... +...............###################################################################...................................... +...............###################################################################...................................... +...............###################################################################...................................... +...............###################################################################...................................... +...............###################################################################...................................... +...............###################################################################...................................... +...............###################################################################...................................... +................#################################################################....................................... +................#################################################################....................................... +................#################################################################....................................... +................#################################################################....................................... +.................###############################################################........................................ +.................###############################################################........................................ +.................###############################################################........................................ +..................#############################################################......................................... +..................#############################################################......................................... +...................###########################################################.......................................... +...................###########################################################.......................................... +....................#########################################################........................................... +.....................#######################################################............................................ +.....................#######################################################............................................ +......................#####################################################............................................. +.......................###################################################.............................................. +........................#################################################............................................... +.........................###############################################................................................ +..........................#############################################................................................. +...........................###########################################.................................................. +............................#########################################................................................... +..............................#####################################..................................................... +...............................###################################...................................................... +.................................###############################........................................................ +...................................###########################.......................................................... +......................................#####################............................................................. +..........................................#############................................................................. +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ + +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +............................................#########................................................................... +.......................................###################.............................................................. +....................................#########################........................................................... +..................................#############################......................................................... +................................#################################....................................................... +..............................#####################################..................................................... +.............................#######################################.................................................... +............................#########################################................................................... +..........................#############################################................................................. +.........................###############################################................................................ +........................#################################################............................................... +.......................###################################################.............................................. +.......................###################################################.............................................. +......................#####################################################............................................. +.....................#######################################################............................................ +....................#########################################################........................................... +....................#########################################################........................................... +...................###########################################################.......................................... +...................###########################################################.......................................... +..................#############################################################......................................... +..................#############################################################......................................... +.................###############################################################........................................ +.................###############################################################........................................ +.................###############################################################........................................ +................#################################################################....................................... +................#################################################################....................................... +................#################################################################....................................... +................#################################################################....................................... +................#################################################################....................................... +...............###################################################################...................................... +...............###################################################################...................................... +...............###################################################################...................................... +...............###################################################################...................................... +...............###################################################################...................................... +...............###################################################################...................................... +...............###################################################################...................................... +...............###################################################################...................................... +...............###################################################################...................................... +................#################################################################....................................... +................#################################################################....................................... +................#################################################################....................................... +................#################################################################....................................... +................#################################################################....................................... +.................###############################################################........................................ +.................###############################################################........................................ +.................###############################################################........................................ +..................#############################################################......................................... +..................#############################################################......................................... +...................###########################################################.......................................... +...................###########################################################.......................................... +....................#########################################################........................................... +....................#########################################################........................................... +.....................#######################################################............................................ +......................#####################################################............................................. +.......................###################################################.............................................. +.......................###################################################.............................................. +........................#################################################............................................... +.........................###############################################................................................ +..........................#############################################................................................. +............................#########################################................................................... +.............................#######################################.................................................... +..............................#####################################..................................................... +................................#################################....................................................... +..................................#############################......................................................... +....................................#########################........................................................... +.......................................###################.............................................................. +............................................#########................................................................... +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ + +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................#################............................................................... +.....................................#######################............................................................ +...................................###########################.......................................................... +.................................###############################........................................................ +...............................###################################...................................................... +..............................#####################################..................................................... +............................#########################################................................................... +...........................###########################################.................................................. +..........................#############################################................................................. +.........................###############################################................................................ +........................#################################################............................................... +.......................###################################################.............................................. +......................#####################################################............................................. +......................#####################################################............................................. +.....................#######################################################............................................ +....................#########################################################........................................... +....................#########################################################........................................... +...................###########################################################.......................................... +...................###########################################################.......................................... +..................#############################################################......................................... +..................#############################################################......................................... +.................###############################################################........................................ +.................###############################################################........................................ +.................###############################################################........................................ +................#################################################################....................................... +................#################################################################....................................... +................#################################################################....................................... +................#################################################################....................................... +................#################################################################....................................... +................#################################################################....................................... +................#################################################################....................................... +................#################################################################....................................... +................#################################################################....................................... +................#################################################################....................................... +................#################################################################....................................... +................#################################################################....................................... +................#################################################################....................................... +................#################################################################....................................... +................#################################################################....................................... +................#################################################################....................................... +................#################################################################....................................... +.................###############################################################........................................ +.................###############################################################........................................ +.................###############################################################........................................ +..................#############################################################......................................... +..................#############################################################......................................... +...................###########################################################.......................................... +...................###########################################################.......................................... +....................#########################################################........................................... +....................#########################################################........................................... +.....................#######################################################............................................ +......................#####################################################............................................. +......................#####################################################............................................. +.......................###################################################.............................................. +........................#################################################............................................... +.........................###############################################................................................ +..........................#############################################................................................. +...........................###########################################.................................................. +............................#########################################................................................... +..............................#####################################..................................................... +...............................###################################...................................................... +.................................###############################........................................................ +...................................###########################.......................................................... +.....................................#######################............................................................ +........................................#################............................................................... +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ + +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +..........................................#############................................................................. +......................................#####################............................................................. +....................................#########################........................................................... +..................................#############################......................................................... +................................#################################....................................................... +..............................#####################################..................................................... +.............................#######################################.................................................... +............................#########################################................................................... +..........................#############################################................................................. +.........................###############################################................................................ +........................#################################################............................................... +........................#################################################............................................... +.......................###################################################.............................................. +......................#####################################################............................................. +.....................#######################################################............................................ +.....................#######################################################............................................ +....................#########################################################........................................... +....................#########################################################........................................... +...................###########################################################.......................................... +...................###########################################################.......................................... +..................#############################################################......................................... +..................#############################################################......................................... +.................###############################################################........................................ +.................###############################################################........................................ +.................###############################################################........................................ +.................###############################################################........................................ +................#################################################################....................................... +................#################################################################....................................... +................#################################################################....................................... +................#################################################################....................................... +................#################################################################....................................... +................#################################################################....................................... +................#################################################################....................................... +................#################################################################....................................... +................#################################################################....................................... +................#################################################################....................................... +................#################################################################....................................... +................#################################################################....................................... +................#################################################################....................................... +.................###############################################################........................................ +.................###############################################################........................................ +.................###############################################################........................................ +.................###############################################################........................................ +..................#############################################################......................................... +..................#############################################################......................................... +...................###########################################################.......................................... +...................###########################################################.......................................... +....................#########################################################........................................... +....................#########################################################........................................... +.....................#######################################################............................................ +.....................#######################################################............................................ +......................#####################################################............................................. +.......................###################################################.............................................. +........................#################################################............................................... +........................#################################################............................................... +.........................###############################################................................................ +..........................#############################################................................................. +............................#########################################................................................... +.............................#######################################.................................................... +..............................#####################################..................................................... +................................#################################....................................................... +..................................#############################......................................................... +....................................#########################........................................................... +......................................#####################............................................................. +..........................................#############................................................................. +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ + +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +.............................................#######.................................................................... +........................................#################............................................................... +.....................................#######################............................................................ +..................................#############################......................................................... +.................................###############################........................................................ +...............................###################################...................................................... +.............................#######################################.................................................... +............................#########################################................................................... +...........................###########################################.................................................. +..........................#############################################................................................. +.........................###############################################................................................ +........................#################################################............................................... +.......................###################################################.............................................. +......................#####################################################............................................. +......................#####################################################............................................. +.....................#######################################################............................................ +.....................########################################################........................................... +....................#########################################################........................................... +...................###########################################################.......................................... +...................###########################################################.......................................... +...................###########################################################.......................................... +..................#############################################################......................................... +..................#############################################################......................................... +..................#############################################################......................................... +.................###############################################################........................................ +.................###############################################################........................................ +.................###############################################################........................................ +.................###############################################################........................................ +.................################################################################....................................... +................#################################################################....................................... +................#################################################################....................................... +................#################################################################....................................... +................#################################################################....................................... +................#################################################################....................................... +................#################################################################....................................... +................#################################################################....................................... +.................################################################################....................................... +.................###############################################################........................................ +.................###############################################################........................................ +.................###############################################################........................................ +.................###############################################################........................................ +..................#############################################################......................................... +..................#############################################################......................................... +..................#############################################################......................................... +...................###########################################################.......................................... +...................###########################################################.......................................... +...................###########################################################.......................................... +....................#########################################################........................................... +.....................########################################################........................................... +.....................#######################################################............................................ +......................#####################################################............................................. +......................#####################################################............................................. +.......................###################################################.............................................. +........................#################################################............................................... +.........................###############################################................................................ +..........................#############################################................................................. +...........................###########################################.................................................. +............................#########################################................................................... +.............................#######################################.................................................... +...............................###################################...................................................... +................................#################################....................................................... +..................................#############################......................................................... +.....................................#######################............................................................ +........................................#################............................................................... +............................................#########................................................................... +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ + +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +.........................................###############................................................................ +......................................#####################............................................................. +...................................###########################.......................................................... +.................................###############################........................................................ +................................#################################....................................................... +..............................#####################################..................................................... +.............................#######################################.................................................... +............................#########################################................................................... +..........................#############################################................................................. +.........................###############################################................................................ +.........................###############################################................................................ +........................#################################################............................................... +.......................###################################################.............................................. +......................#####################################################............................................. +......................#####################################################............................................. +.....................#######################################################............................................ +....................#########################################################........................................... +....................#########################################################........................................... +...................###########################################################.......................................... +...................###########################################################.......................................... +...................###########################################################.......................................... +..................#############################################################......................................... +..................#############################################################......................................... +..................#############################################################......................................... +.................###############################################################........................................ +.................###############################################################........................................ +.................###############################################################........................................ +.................###############################################################........................................ +.................###############################################################........................................ +.................###############################################################........................................ +.................###############################################################........................................ +.................###############################################################........................................ +.................###############################################################........................................ +.................###############################################################........................................ +.................###############################################################........................................ +.................###############################################################........................................ +.................###############################################################........................................ +.................###############################################################........................................ +.................###############################################################........................................ +..................#############################################################......................................... +..................#############################################################......................................... +..................#############################################################......................................... +...................###########################################################.......................................... +...................###########################################################.......................................... +...................###########################################################.......................................... +....................#########################################################........................................... +....................#########################################################........................................... +.....................#######################################################............................................ +......................#####################################################............................................. +......................#####################################################............................................. +.......................###################################################.............................................. +........................#################################################............................................... +.........................###############################################................................................ +.........................###############################################................................................ +..........................#############################################................................................. +............................#########################################................................................... +.............................#######################################.................................................... +..............................#####################################..................................................... +................................#################################....................................................... +.................................###############################........................................................ +...................................###########################.......................................................... +......................................#####################............................................................. +.........................................###############................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ + +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +...........................................###########.................................................................. +.......................................###################.............................................................. +....................................#########################........................................................... +..................................#############################......................................................... +................................#################################....................................................... +...............................###################################...................................................... +.............................#######################################.................................................... +............................#########################################................................................... +...........................###########################################.................................................. +..........................#############################################................................................. +.........................###############################################................................................ +........................#################################################............................................... +.......................###################################################.............................................. +.......................###################################################.............................................. +......................#####################################################............................................. +.....................#######################################################............................................ +.....................#######################################################............................................ +....................#########################################################........................................... +....................#########################################################........................................... +...................###########################################################.......................................... +...................###########################################################.......................................... +...................###########################################################.......................................... +..................#############################################################......................................... +..................#############################################################......................................... +..................#############################################################......................................... +..................#############################################################......................................... +.................###############################################################........................................ +.................###############################################################........................................ +.................###############################################################........................................ +.................###############################################################........................................ +.................###############################################################........................................ +.................###############################################################........................................ +.................###############################################################........................................ +.................###############################################################........................................ +.................###############################################################........................................ +.................###############################################################........................................ +.................###############################################################........................................ +..................#############################################################......................................... +..................#############################################################......................................... +..................#############################################################......................................... +..................#############################################################......................................... +...................###########################################################.......................................... +...................###########################################################.......................................... +...................###########################################################.......................................... +....................#########################################################........................................... +....................#########################################################........................................... +.....................#######################################################............................................ +.....................#######################################################............................................ +......................#####################################################............................................. +.......................###################################################.............................................. +.......................###################################################.............................................. +........................#################################################............................................... +.........................###############################################................................................ +..........................#############################################................................................. +...........................###########################################.................................................. +............................#########################################................................................... +.............................#######################################.................................................... +...............................###################################...................................................... +................................#################################....................................................... +..................................#############################......................................................... +....................................#########################........................................................... +.......................................###################.............................................................. +...........................................###########.................................................................. +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ + +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +.........................................###############................................................................ +......................................#####################............................................................. +...................................###########################.......................................................... +.................................###############################........................................................ +................................#################################....................................................... +..............................#####################################..................................................... +.............................#######################################.................................................... +............................#########################################................................................... +...........................###########################################.................................................. +..........................#############################################................................................. +.........................###############################################................................................ +........................#################################################............................................... +.......................###################################################.............................................. +.......................###################################################.............................................. +......................#####################################################............................................. +.....................#######################################################............................................ +.....................#######################################################............................................ +....................#########################################################........................................... +....................#########################################################........................................... +....................#########################################################........................................... +...................###########################################################.......................................... +...................###########################################################.......................................... +...................###########################################################.......................................... +..................#############################################################......................................... +..................#############################################################......................................... +..................#############################################################......................................... +..................#############################################################......................................... +..................#############################################################......................................... +..................#############################################################......................................... +..................#############################################################......................................... +..................#############################################################......................................... +..................#############################################################......................................... +..................#############################################################......................................... +..................#############################################################......................................... +..................#############################################################......................................... +..................#############################################################......................................... +..................#############################################################......................................... +..................#############################################################......................................... +...................###########################################################.......................................... +...................###########################################################.......................................... +...................###########################################################.......................................... +....................#########################################################........................................... +....................#########################################################........................................... +....................#########################################################........................................... +.....................#######################################################............................................ +.....................#######################################################............................................ +......................#####################################################............................................. +.......................###################################################.............................................. +.......................###################################################.............................................. +........................#################################################............................................... +.........................###############################################................................................ +..........................#############################################................................................. +...........................###########################################.................................................. +............................#########################################................................................... +.............................#######################################.................................................... +..............................#####################################..................................................... +................................#################################....................................................... +.................................###############################........................................................ +...................................###########################.......................................................... +......................................#####################............................................................. +.........................................###############................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ + +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +...........................................###########.................................................................. +.......................................###################.............................................................. +.....................................#######################............................................................ +..................................#############################......................................................... +.................................###############################........................................................ +...............................###################################...................................................... +..............................#####################################..................................................... +.............................#######################################.................................................... +...........................###########################################.................................................. +..........................#############################################................................................. +..........................#############################################................................................. +.........................###############################################................................................ +........................#################################################............................................... +.......................###################################################.............................................. +.......................###################################################.............................................. +......................#####################################################............................................. +.....................#######################################################............................................ +.....................#######################################################............................................ +.....................#######################################################............................................ +....................#########################################################........................................... +....................#########################################################........................................... +...................###########################################################.......................................... +...................###########################################################.......................................... +...................###########################################################.......................................... +...................###########################################################.......................................... +..................#############################################################......................................... +..................#############################################################......................................... +..................#############################################################......................................... +..................#############################################################......................................... +..................#############################################################......................................... +..................#############################################################......................................... +..................#############################################################......................................... +..................#############################################################......................................... +..................#############################################################......................................... +..................#############################################################......................................... +..................#############################################################......................................... +...................###########################################################.......................................... +...................###########################################################.......................................... +...................###########################################################.......................................... +...................###########################################################.......................................... +....................#########################################################........................................... +....................#########################################################........................................... +.....................#######################################################............................................ +.....................#######################################################............................................ +.....................#######################################################............................................ +......................#####################################################............................................. +.......................###################################################.............................................. +.......................###################################################.............................................. +........................#################################################............................................... +.........................###############################################................................................ +..........................#############################################................................................. +..........................#############################################................................................. +...........................###########################################.................................................. +.............................#######################################.................................................... +..............................#####################################..................................................... +...............................###################################...................................................... +.................................###############################........................................................ +..................................#############################......................................................... +.....................................#######################............................................................ +.......................................###################.............................................................. +...........................................###########.................................................................. +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ + +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +.........................................###############................................................................ +......................................#####################............................................................. +....................................#########################........................................................... +..................................#############################......................................................... +................................#################################....................................................... +...............................###################################...................................................... +.............................#######################################.................................................... +............................#########################################................................................... +...........................###########################################.................................................. +..........................#############################################................................................. +.........................###############################################................................................ +.........................###############################################................................................ +........................#################################################............................................... +.......................###################################################.............................................. +.......................###################################################.............................................. +......................#####################################################............................................. +......................#####################################################............................................. +.....................#######################################################............................................ +.....................#######################################################............................................ +....................#########################################################........................................... +....................#########################################################........................................... +....................#########################################################........................................... +...................###########################################################.......................................... +...................###########################################################.......................................... +...................###########################################################.......................................... +...................###########################################################.......................................... +...................###########################################################.......................................... +...................###########################################################.......................................... +...................###########################################################.......................................... +...................###########################################################.......................................... +...................###########################################################.......................................... +...................###########################################################.......................................... +...................###########################################################.......................................... +...................###########################################################.......................................... +...................###########################################################.......................................... +...................###########################################################.......................................... +...................###########################################################.......................................... +....................#########################################################........................................... +....................#########################################################........................................... +....................#########################################################........................................... +.....................#######################################################............................................ +.....................#######################################################............................................ +......................#####################################################............................................. +......................#####################################################............................................. +.......................###################################################.............................................. +.......................###################################################.............................................. +........................#################################################............................................... +.........................###############################################................................................ +.........................###############################################................................................ +..........................#############################################................................................. +...........................###########################################.................................................. +............................#########################################................................................... +.............................#######################################.................................................... +...............................###################################...................................................... +................................#################################....................................................... +..................................#############################......................................................... +....................................#########################........................................................... +......................................#####################............................................................. +.........................................###############................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ + +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +............................................#########................................................................... +........................................#################............................................................... +.....................................#######################............................................................ +...................................###########################.......................................................... +.................................###############################........................................................ +................................#################################....................................................... +..............................#####################################..................................................... +.............................#######################################.................................................... +............................#########################################................................................... +...........................###########################################.................................................. +..........................#############################################................................................. +.........................###############################################................................................ +.........................###############################################................................................ +........................#################################################............................................... +.......................###################################################.............................................. +.......................###################################################.............................................. +......................#####################################################............................................. +......................#####################################################............................................. +.....................#######################################################............................................ +.....................#######################################################............................................ +.....................#######################################################............................................ +....................#########################################################........................................... +....................#########################################################........................................... +....................#########################################################........................................... +....................#########################################################........................................... +...................###########################################################.......................................... +...................###########################################################.......................................... +...................###########################################################.......................................... +...................###########################################################.......................................... +...................###########################################################.......................................... +...................###########################################################.......................................... +...................###########################################################.......................................... +...................###########################################################.......................................... +...................###########################################################.......................................... +....................#########################################################........................................... +....................#########################################################........................................... +....................#########################################################........................................... +....................#########################################################........................................... +.....................#######################################################............................................ +.....................#######################################################............................................ +.....................#######################################################............................................ +......................#####################################################............................................. +......................#####################################################............................................. +.......................###################################################.............................................. +.......................###################################################.............................................. +........................#################################################............................................... +.........................###############################################................................................ +.........................###############################################................................................ +..........................#############################################................................................. +...........................###########################################.................................................. +............................#########################################................................................... +.............................#######################################.................................................... +..............................#####################################..................................................... +................................#################################....................................................... +.................................###############################........................................................ +...................................###########################.......................................................... +.....................................#######################............................................................ +........................................#################............................................................... +............................................#########................................................................... +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ + +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +..........................................#############................................................................. +......................................#####################............................................................. +....................................#########################........................................................... +..................................#############################......................................................... +.................................###############################........................................................ +...............................###################################...................................................... +..............................#####################################..................................................... +.............................#######################################.................................................... +............................#########################################................................................... +...........................###########################################.................................................. +..........................#############################################................................................. +.........................###############################################................................................ +.........................###############################################................................................ +........................#################################################............................................... +.......................###################################################.............................................. +.......................###################################################.............................................. +......................#####################################################............................................. +......................#####################################################............................................. +.....................#######################################################............................................ +.....................#######################################################............................................ +.....................#######################################################............................................ +.....................#######################################################............................................ +....................#########################################################........................................... +....................#########################################################........................................... +....................#########################################################........................................... +....................#########################################################........................................... +....................#########################################################........................................... +....................#########################################################........................................... +....................#########################################################........................................... +....................#########################################################........................................... +....................#########################################################........................................... +....................#########################################################........................................... +....................#########################################################........................................... +....................#########################################################........................................... +....................#########################################################........................................... +.....................#######################################################............................................ +.....................#######################################################............................................ +.....................#######################################################............................................ +.....................#######################################################............................................ +......................#####################################################............................................. +......................#####################################################............................................. +.......................###################################################.............................................. +.......................###################################################.............................................. +........................#################################################............................................... +.........................###############################################................................................ +.........................###############################################................................................ +..........................#############################################................................................. +...........................###########################################.................................................. +............................#########################################................................................... +.............................#######################################.................................................... +..............................#####################################..................................................... +...............................###################################...................................................... +.................................###############################........................................................ +..................................#############################......................................................... +....................................#########################........................................................... +......................................#####################............................................................. +..........................................#############................................................................. +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ + +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +.............................................#######.................................................................... +........................................#################............................................................... +......................................#####################............................................................. +...................................###########################.......................................................... +..................................#############################......................................................... +................................#################################....................................................... +...............................###################################...................................................... +..............................#####################################..................................................... +.............................#######################################.................................................... +............................#########################################................................................... +...........................###########################################.................................................. +..........................#############################################................................................. +.........................###############################################................................................ +.........................###############################################................................................ +........................#################################################............................................... +.......................###################################################.............................................. +.......................###################################################.............................................. +.......................###################################################.............................................. +......................#####################################################............................................. +......................#####################################################............................................. +.....................#######################################################............................................ +.....................#######################################################............................................ +.....................#######################################################............................................ +.....................#######################################################............................................ +.....................#######################################################............................................ +....................#########################################################........................................... +....................#########################################################........................................... +....................#########################################################........................................... +....................#########################################################........................................... +....................#########################################################........................................... +....................#########################################################........................................... +....................#########################################################........................................... +.....................#######################################################............................................ +.....................#######################################################............................................ +.....................#######################################################............................................ +.....................#######################################################............................................ +.....................#######################################################............................................ +......................#####################################################............................................. +......................#####################################################............................................. +.......................###################################################.............................................. +.......................###################################################.............................................. +.......................###################################################.............................................. +........................#################################################............................................... +.........................###############################################................................................ +.........................###############################################................................................ +..........................#############################################................................................. +...........................###########################################.................................................. +............................#########################################................................................... +.............................#######################################.................................................... +..............................#####################################..................................................... +...............................###################################...................................................... +................................#################################....................................................... +..................................#############################......................................................... +...................................###########################.......................................................... +......................................#####################............................................................. +........................................#################............................................................... +.............................................#######.................................................................... +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ + +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +...........................................###########.................................................................. +.......................................###################.............................................................. +.....................................#######################............................................................ +...................................###########################.......................................................... +.................................###############################........................................................ +................................#################################....................................................... +...............................###################################...................................................... +..............................#####################################..................................................... +.............................#######################################.................................................... +............................#########################################................................................... +...........................###########################################.................................................. +..........................#############################################................................................. +.........................###############################################................................................ +.........................###############################################................................................ +........................#################################################............................................... +........................#################################################............................................... +.......................###################################################.............................................. +.......................###################################################.............................................. +......................#####################################################............................................. +......................#####################################################............................................. +......................#####################################################............................................. +......................#####################################################............................................. +.....................#######################################################............................................ +.....................#######################################################............................................ +.....................#######################################################............................................ +.....................#######################################################............................................ +.....................#######################################################............................................ +.....................#######################################################............................................ +.....................#######################################################............................................ +.....................#######################################################............................................ +.....................#######################################################............................................ +.....................#######################################################............................................ +.....................#######################################################............................................ +......................#####################################################............................................. +......................#####################################################............................................. +......................#####################################################............................................. +......................#####################################################............................................. +.......................###################################################.............................................. +.......................###################################################.............................................. +........................#################################################............................................... +........................#################################################............................................... +.........................###############################################................................................ +.........................###############################################................................................ +..........................#############################################................................................. +...........................###########################################.................................................. +............................#########################################................................................... +.............................#######################################.................................................... +..............................#####################################..................................................... +...............................###################################...................................................... +................................#################################....................................................... +.................................###############################........................................................ +...................................###########################.......................................................... +.....................................#######################............................................................ +.......................................###################.............................................................. +...........................................###########.................................................................. +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ + +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +..........................................#############................................................................. +.......................................###################.............................................................. +.....................................#######################............................................................ +...................................###########################.......................................................... +.................................###############################........................................................ +................................#################################....................................................... +...............................###################################...................................................... +..............................#####################################..................................................... +.............................#######################################.................................................... +............................#########################################................................................... +...........................###########################################.................................................. +..........................#############################################................................................. +..........................#############################################................................................. +.........................###############################################................................................ +.........................###############################################................................................ +........................#################################################............................................... +........................#################################################............................................... +.......................###################################################.............................................. +.......................###################################################.............................................. +.......................###################################################.............................................. +......................#####################################################............................................. +......................#####################################################............................................. +......................#####################################################............................................. +......................#####################################################............................................. +......................#####################################################............................................. +......................#####################################################............................................. +......................#####################################################............................................. +......................#####################################################............................................. +......................#####################################################............................................. +......................#####################################################............................................. +......................#####################################################............................................. +......................#####################################################............................................. +......................#####################################################............................................. +.......................###################################################.............................................. +.......................###################################################.............................................. +.......................###################################################.............................................. +........................#################################################............................................... +........................#################################################............................................... +.........................###############################################................................................ +.........................###############################################................................................ +..........................#############################################................................................. +..........................#############################################................................................. +...........................###########################################.................................................. +............................#########################################................................................... +.............................#######################################.................................................... +..............................#####################################..................................................... +...............................###################################...................................................... +................................#################################....................................................... +.................................###############################........................................................ +...................................###########################.......................................................... +.....................................#######################............................................................ +.......................................###################.............................................................. +..........................................#############................................................................. +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ + +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +..............................................#####..................................................................... +.........................................###############................................................................ +......................................#####################............................................................. +....................................#########################........................................................... +..................................#############################......................................................... +.................................###############################........................................................ +................................#################################....................................................... +...............................###################################...................................................... +..............................#####################################..................................................... +.............................#######################################.................................................... +............................#########################################................................................... +...........................###########################################.................................................. +..........................#############################################................................................. +..........................#############################################................................................. +.........................###############################################................................................ +.........................###############################################................................................ +........................#################################################............................................... +........................#################################################............................................... +........................#################################################............................................... +.......................###################################################.............................................. +.......................###################################################.............................................. +.......................###################################################.............................................. +.......................###################################################.............................................. +.......................###################################################.............................................. +......................#####################################################............................................. +......................#####################################################............................................. +......................#####################################################............................................. +......................#####################################################............................................. +......................#####################################################............................................. +.......................###################################################.............................................. +.......................###################################################.............................................. +.......................###################################################.............................................. +.......................###################################################.............................................. +.......................###################################################.............................................. +........................#################################################............................................... +........................#################################################............................................... +........................#################################################............................................... +.........................###############################################................................................ +.........................###############################################................................................ +..........................#############################################................................................. +..........................#############################################................................................. +...........................###########################################.................................................. +............................#########################################................................................... +.............................#######################################.................................................... +..............................#####################################..................................................... +...............................###################################...................................................... +................................#################################....................................................... +.................................###############################........................................................ +..................................#############################......................................................... +....................................#########################........................................................... +......................................#####################............................................................. +.........................................###############................................................................ +..............................................#####..................................................................... +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ + +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +.............................................#######.................................................................... +........................................#################............................................................... +......................................#####################............................................................. +....................................#########################........................................................... +..................................#############################......................................................... +.................................###############################........................................................ +................................#################################....................................................... +...............................###################################...................................................... +..............................#####################################..................................................... +.............................#######################################.................................................... +............................#########################################................................................... +...........................###########################################.................................................. +...........................###########################################.................................................. +..........................#############################################................................................. +..........................#############################################................................................. +.........................###############################################................................................ +.........................###############################################................................................ +........................#################################################............................................... +........................#################################################............................................... +........................#################################################............................................... +........................#################################################............................................... +........................#################################################............................................... +.......................###################################################.............................................. +.......................###################################################.............................................. +.......................###################################################.............................................. +.......................###################################################.............................................. +.......................###################################################.............................................. +.......................###################################################.............................................. +.......................###################################################.............................................. +........................#################################################............................................... +........................#################################################............................................... +........................#################################################............................................... +........................#################################################............................................... +........................#################################################............................................... +.........................###############################################................................................ +.........................###############################################................................................ +..........................#############################################................................................. +..........................#############################################................................................. +...........................###########################################.................................................. +...........................###########################################.................................................. +............................#########################################................................................... +.............................#######################################.................................................... +..............................#####################################..................................................... +...............................###################################...................................................... +................................#################################....................................................... +.................................###############################........................................................ +..................................#############################......................................................... +....................................#########################........................................................... +......................................#####################............................................................. +........................................#################............................................................... +.............................................#######.................................................................... +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ + +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +............................................#########................................................................... +........................................#################............................................................... +......................................#####################............................................................. +....................................#########################........................................................... +..................................#############################......................................................... +.................................###############################........................................................ +................................#################################....................................................... +...............................###################################...................................................... +..............................#####################################..................................................... +.............................#######################################.................................................... +............................#########################################................................................... +............................#########################################................................................... +...........................###########################################.................................................. +...........................###########################################.................................................. +..........................#############################################................................................. +..........................#############################################................................................. +.........................###############################################................................................ +.........................###############################################................................................ +.........................###############################################................................................ +.........................###############################################................................................ +........................#################################################............................................... +........................#################################################............................................... +........................#################################################............................................... +........................#################################################............................................... +........................#################################################............................................... +........................#################################################............................................... +........................#################################################............................................... +........................#################################################............................................... +........................#################################################............................................... +.........................###############################################................................................ +.........................###############################################................................................ +.........................###############################################................................................ +.........................###############################################................................................ +..........................#############################################................................................. +..........................#############################################................................................. +...........................###########################################.................................................. +...........................###########################################.................................................. +............................#########################################................................................... +............................#########################################................................................... +.............................#######################################.................................................... +..............................#####################################..................................................... +...............................###################################...................................................... +................................#################################....................................................... +.................................###############################........................................................ +..................................#############################......................................................... +....................................#########################........................................................... +......................................#####################............................................................. +........................................#################............................................................... +............................................#########................................................................... +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ + +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +...........................................###########.................................................................. +........................................#################............................................................... +......................................#####################............................................................. +....................................#########################........................................................... +...................................###########################.......................................................... +.................................###############################........................................................ +................................#################################....................................................... +...............................###################################...................................................... +..............................#####################################..................................................... +..............................#####################################..................................................... +.............................#######################################.................................................... +............................#########################################................................................... +............................#########################################................................................... +...........................###########################################.................................................. +...........................###########################################.................................................. +..........................#############################################................................................. +..........................#############################################................................................. +..........................#############################################................................................. +.........................###############################################................................................ +.........................###############################################................................................ +.........................###############################################................................................ +.........................###############################################................................................ +.........................###############################################................................................ +.........................###############################################................................................ +.........................###############################################................................................ +.........................###############################################................................................ +.........................###############################################................................................ +.........................###############################################................................................ +.........................###############################################................................................ +..........................#############################################................................................. +..........................#############################################................................................. +..........................#############################################................................................. +...........................###########################################.................................................. +...........................###########################################.................................................. +............................#########################################................................................... +............................#########################################................................................... +.............................#######################################.................................................... +..............................#####################################..................................................... +..............................#####################################..................................................... +...............................###################################...................................................... +................................#################################....................................................... +.................................###############################........................................................ +...................................###########################.......................................................... +....................................#########################........................................................... +......................................#####################............................................................. +........................................#################............................................................... +...........................................###########.................................................................. +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ + +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +...........................................###########.................................................................. +........................................#################............................................................... +......................................#####################............................................................. +....................................#########################........................................................... +...................................###########################.......................................................... +..................................#############################......................................................... +.................................###############################........................................................ +................................#################################....................................................... +...............................###################################...................................................... +..............................#####################################..................................................... +.............................#######################################.................................................... +.............................#######################################.................................................... +............................#########################################................................................... +............................#########################################................................................... +...........................###########################################.................................................. +...........................###########################################.................................................. +...........................###########################################.................................................. +..........................#############################################................................................. +..........................#############################################................................................. +..........................#############################################................................................. +..........................#############################################................................................. +..........................#############################################................................................. +..........................#############################################................................................. +..........................#############################################................................................. +..........................#############################################................................................. +..........................#############################################................................................. +..........................#############################################................................................. +..........................#############################################................................................. +...........................###########################################.................................................. +...........................###########################################.................................................. +...........................###########################################.................................................. +............................#########################################................................................... +............................#########################################................................................... +.............................#######################################.................................................... +.............................#######################################.................................................... +..............................#####################################..................................................... +...............................###################################...................................................... +................................#################################....................................................... +.................................###############################........................................................ +..................................#############################......................................................... +...................................###########################.......................................................... +....................................#########################........................................................... +......................................#####################............................................................. +........................................#################............................................................... +...........................................###########.................................................................. +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ + +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +...........................................###########.................................................................. +........................................#################............................................................... +......................................#####################............................................................. +.....................................#######################............................................................ +...................................###########################.......................................................... +..................................#############################......................................................... +.................................###############################........................................................ +................................#################################....................................................... +...............................###################################...................................................... +...............................###################################...................................................... +..............................#####################################..................................................... +.............................#######################################.................................................... +.............................#######################################.................................................... +............................#########################################................................................... +............................#########################################................................................... +............................#########################################................................................... +...........................###########################################.................................................. +...........................###########################################.................................................. +...........................###########################################.................................................. +...........................###########################################.................................................. +...........................###########################################.................................................. +...........................###########################################.................................................. +...........................###########################################.................................................. +...........................###########################################.................................................. +...........................###########################################.................................................. +...........................###########################################.................................................. +...........................###########################################.................................................. +............................#########################################................................................... +............................#########################################................................................... +............................#########################################................................................... +.............................#######################################.................................................... +.............................#######################################.................................................... +..............................#####################################..................................................... +...............................###################################...................................................... +...............................###################################...................................................... +................................#################################....................................................... +.................................###############################........................................................ +..................................#############################......................................................... +...................................###########################.......................................................... +.....................................#######################............................................................ +......................................#####################............................................................. +........................................#################............................................................... +...........................................###########.................................................................. +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ + +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +............................................#########................................................................... +.........................................###############................................................................ +.......................................###################.............................................................. +.....................................#######################............................................................ +....................................#########################........................................................... +...................................###########################.......................................................... +..................................#############################......................................................... +.................................###############################........................................................ +................................#################################....................................................... +...............................###################################...................................................... +...............................###################################...................................................... +..............................#####################################..................................................... +..............................#####################################..................................................... +.............................#######################################.................................................... +.............................#######################################.................................................... +.............................#######################################.................................................... +............................#########################################................................................... +............................#########################################................................................... +............................#########################################................................................... +............................#########################################................................................... +............................#########################################................................................... +............................#########################################................................................... +............................#########################################................................................... +............................#########################################................................................... +............................#########################################................................................... +.............................#######################################.................................................... +.............................#######################################.................................................... +.............................#######################################.................................................... +..............................#####################################..................................................... +..............................#####################################..................................................... +...............................###################################...................................................... +...............................###################################...................................................... +................................#################################....................................................... +.................................###############################........................................................ +..................................#############################......................................................... +...................................###########################.......................................................... +....................................#########################........................................................... +.....................................#######################............................................................ +.......................................###################.............................................................. +.........................................###############................................................................ +............................................#########................................................................... +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ + +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +.............................................#######.................................................................... +..........................................#############................................................................. +.......................................###################.............................................................. +......................................#####################............................................................. +....................................#########################........................................................... +...................................###########################.......................................................... +..................................#############################......................................................... +.................................###############################........................................................ +.................................###############################........................................................ +................................#################################....................................................... +...............................###################################...................................................... +...............................###################################...................................................... +...............................###################################...................................................... +..............................#####################################..................................................... +..............................#####################################..................................................... +..............................#####################################..................................................... +.............................#######################################.................................................... +.............................#######################################.................................................... +.............................#######################################.................................................... +.............................#######################################.................................................... +.............................#######################################.................................................... +.............................#######################################.................................................... +.............................#######################################.................................................... +..............................#####################################..................................................... +..............................#####################################..................................................... +..............................#####################################..................................................... +...............................###################################...................................................... +...............................###################################...................................................... +...............................###################################...................................................... +................................#################################....................................................... +.................................###############################........................................................ +.................................###############################........................................................ +..................................#############################......................................................... +...................................###########################.......................................................... +....................................#########################........................................................... +......................................#####################............................................................. +.......................................###################.............................................................. +..........................................#############................................................................. +.............................................#######.................................................................... +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ + +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +...........................................###########.................................................................. +........................................#################............................................................... +.......................................###################.............................................................. +.....................................#######################............................................................ +....................................#########################........................................................... +...................................###########################.......................................................... +..................................#############################......................................................... +..................................#############################......................................................... +.................................###############################........................................................ +................................#################################....................................................... +................................#################################....................................................... +................................#################################....................................................... +...............................###################################...................................................... +...............................###################################...................................................... +...............................###################################...................................................... +...............................###################################...................................................... +...............................###################################...................................................... +...............................###################################...................................................... +...............................###################################...................................................... +...............................###################################...................................................... +...............................###################################...................................................... +...............................###################################...................................................... +...............................###################################...................................................... +................................#################################....................................................... +................................#################################....................................................... +................................#################################....................................................... +.................................###############################........................................................ +..................................#############################......................................................... +..................................#############################......................................................... +...................................###########################.......................................................... +....................................#########################........................................................... +.....................................#######################............................................................ +.......................................###################.............................................................. +........................................#################............................................................... +...........................................###########.................................................................. +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ + +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +.............................................#######.................................................................... +..........................................#############................................................................. +........................................#################............................................................... +......................................#####################............................................................. +.....................................#######################............................................................ +....................................#########################........................................................... +...................................###########################.......................................................... +...................................###########################.......................................................... +..................................#############################......................................................... +..................................#############################......................................................... +.................................###############################........................................................ +.................................###############################........................................................ +.................................###############################........................................................ +................................#################################....................................................... +................................#################################....................................................... +................................#################################....................................................... +................................#################################....................................................... +................................#################################....................................................... +................................#################################....................................................... +................................#################################....................................................... +.................................###############################........................................................ +.................................###############################........................................................ +.................................###############################........................................................ +..................................#############################......................................................... +..................................#############################......................................................... +...................................###########################.......................................................... +...................................###########################.......................................................... +....................................#########################........................................................... +.....................................#######################............................................................ +......................................#####################............................................................. +........................................#################............................................................... +..........................................#############................................................................. +.............................................#######.................................................................... +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ + +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +............................................#########................................................................... +.........................................###############................................................................ +........................................#################............................................................... +.......................................###################.............................................................. +......................................#####################............................................................. +.....................................#######################............................................................ +....................................#########################........................................................... +...................................###########################.......................................................... +...................................###########################.......................................................... +...................................###########################.......................................................... +..................................#############################......................................................... +..................................#############################......................................................... +..................................#############################......................................................... +..................................#############################......................................................... +..................................#############################......................................................... +..................................#############################......................................................... +..................................#############################......................................................... +..................................#############################......................................................... +..................................#############################......................................................... +...................................###########################.......................................................... +...................................###########################.......................................................... +...................................###########################.......................................................... +....................................#########################........................................................... +.....................................#######################............................................................ +......................................#####################............................................................. +.......................................###################.............................................................. +........................................#################............................................................... +.........................................###############................................................................ +............................................#########................................................................... +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ + +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +............................................#########................................................................... +..........................................#############................................................................. +........................................#################............................................................... +.......................................###################.............................................................. +......................................#####################............................................................. +......................................#####################............................................................. +.....................................#######################............................................................ +.....................................#######################............................................................ +....................................#########################........................................................... +....................................#########################........................................................... +....................................#########################........................................................... +....................................#########################........................................................... +....................................#########################........................................................... +....................................#########################........................................................... +....................................#########################........................................................... +....................................#########################........................................................... +....................................#########################........................................................... +.....................................#######################............................................................ +.....................................#######################............................................................ +......................................#####################............................................................. +......................................#####################............................................................. +.......................................###################.............................................................. +........................................#################............................................................... +..........................................#############................................................................. +............................................#########................................................................... +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ + +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +.............................................#######.................................................................... +...........................................###########.................................................................. +..........................................#############................................................................. +.........................................###############................................................................ +........................................#################............................................................... +.......................................###################.............................................................. +.......................................###################.............................................................. +......................................#####################............................................................. +......................................#####################............................................................. +......................................#####################............................................................. +......................................#####################............................................................. +......................................#####################............................................................. +......................................#####################............................................................. +......................................#####################............................................................. +.......................................###################.............................................................. +.......................................###################.............................................................. +........................................#################............................................................... +.........................................###############................................................................ +..........................................#############................................................................. +...........................................###########.................................................................. +.............................................#######.................................................................... +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ + +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +..............................................#####..................................................................... +............................................#########................................................................... +...........................................###########.................................................................. +..........................................#############................................................................. +..........................................#############................................................................. +.........................................###############................................................................ +.........................................###############................................................................ +.........................................###############................................................................ +.........................................###############................................................................ +.........................................###############................................................................ +..........................................#############................................................................. +..........................................#############................................................................. +...........................................###########.................................................................. +............................................#########................................................................... +..............................................#####..................................................................... +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ + +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ + +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ + +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ + +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ + +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ + +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ + +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ + +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ + +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ + +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ + +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ + +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ + +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ + +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ + +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ + +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ + +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ + +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ + +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ + +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ + +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ + +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ + +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ + +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ + +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ + +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ + +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ + +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ + +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ + +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ + +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ + +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ + +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ + +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ + +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ + +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ + +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ + +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ + +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ + +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ + +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ + +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ + +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ + +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ + +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ +........................................................................................................................ + diff --git a/benchmarks/opencl/lbm/Makefile b/benchmarks/opencl/lbm/Makefile new file mode 100644 index 00000000..fa388f84 --- /dev/null +++ b/benchmarks/opencl/lbm/Makefile @@ -0,0 +1,68 @@ +RISCV_TOOL_PATH = $(wildcard ~/dev/riscv-gnu-toolchain/drops) +POCL_CC_PATH = $(wildcard ~/dev/pocl/drops_riscv_cc) +POCL_INC_PATH = $(wildcard ../include) +POCL_LIB_PATH = $(wildcard ../lib) +VX_RT_PATH = $(wildcard ../../../runtime) +VX_SIMX_PATH = $(wildcard ../../../simX/obj_dir) + +CC = $(RISCV_TOOL_PATH)/bin/riscv32-unknown-elf-gcc +CXX = $(RISCV_TOOL_PATH)/bin/riscv32-unknown-elf-g++ +DMP = $(RISCV_TOOL_PATH)/bin/riscv32-unknown-elf-objdump +HEX = $(RISCV_TOOL_PATH)/bin/riscv32-unknown-elf-objcopy +GDB = $(RISCV_TOOL_PATH)/bin/riscv32-unknown-elf-gdb + +VX_SRCS = $(VX_RT_PATH)/newlib/newlib.c +VX_SRCS += $(VX_RT_PATH)/startup/vx_start.s +VX_SRCS += $(VX_RT_PATH)/intrinsics/vx_intrinsics.s +VX_SRCS += $(VX_RT_PATH)/io/vx_io.s $(VX_RT_PATH)/io/vx_io.c +VX_SRCS += $(VX_RT_PATH)/fileio/fileio.s +VX_SRCS += $(VX_RT_PATH)/tests/tests.c +VX_SRCS += $(VX_RT_PATH)/vx_api/vx_api.c +VX_SRCS += $(VX_STR) $(VX_FIO) $(VX_NEWLIB) $(VX_INT) $(VX_IO) $(VX_API) $(VX_TEST) + +VX_CFLAGS = -nostartfiles -Wl,-Bstatic,-T,$(VX_RT_PATH)/mains/vortex_link.ld + +CXXFLAGS = -g -O0 -march=rv32im -mabi=ilp32 +CXXFLAGS += -ffreestanding # program may not begin at main() +CXXFLAGS += -Wl,--gc-sections # enable garbage collection of unused input sections +CXXFLAGS += -fno-rtti -fno-non-call-exceptions # disable RTTI and exceptions +CXXFLAGS += -I$(POCL_INC_PATH) -I. + +VX_LIBS = -Wl,--whole-archive lib$(PROJECT).a -Wl,--no-whole-archive $(POCL_LIB_PATH)/libOpenCL.a +QEMU_LIBS = -Wl,--whole-archive lib$(PROJECT).a -Wl,--no-whole-archive $(POCL_LIB_PATH)/qemu/libOpenCL.a + +PROJECT = lbm + +SRCS = main.cc args.c parboil_opencl.c gpu_info.c lbm.c ocl.c + +all: $(PROJECT).dump $(PROJECT).hex + +lib$(PROJECT).a: kernel.cl + POCL_DEBUG=all POCL_DEBUG_LLVM_PASSES=1 LD_LIBRARY_PATH=$(RISCV_TOOL_PATH)/lib:$(POCL_CC_PATH)/lib $(POCL_CC_PATH)/bin/poclcc -o lib$(PROJECT).a kernel.cl + +$(PROJECT).elf: $(SRCS) lib$(PROJECT).a + $(CXX) $(CXXFLAGS) $(VX_CFLAGS) $(VX_SRCS) $(SRCS) $(VX_LIBS) -o $(PROJECT).elf + +$(PROJECT).qemu: $(SRCS) lib$(PROJECT).a + $(CXX) $(CXXFLAGS) $(SRCS) $(QEMU_LIBS) -o $(PROJECT).qemu + +$(PROJECT).hex: $(PROJECT).elf + $(HEX) -O ihex $(PROJECT).elf $(PROJECT).hex + +$(PROJECT).dump: $(PROJECT).elf + $(DMP) -D $(PROJECT).elf > $(PROJECT).dump + +run: $(PROJECT).hex + POCL_DEBUG=all $(VX_SIMX_PATH)/Vcache_simX -E -a rv32i --core $(PROJECT).hex -s -b 1> emulator.debug + +qemu: $(PROJECT).qemu + POCL_DEBUG=all $(RISCV_TOOL_PATH)/bin/qemu-riscv32 -d in_asm -D debug.log $(PROJECT).qemu + +gdb-s: $(PROJECT).qemu + POCL_DEBUG=all $(RISCV_TOOL_PATH)/bin/qemu-riscv32 -g 1234 -d in_asm -D debug.log $(PROJECT).qemu + +gdb-c: $(PROJECT).qemu + $(GDB) $(PROJECT).qemu + +clean: + rm -rf *.o *.elf *.dump *.hex *.qemu *.log *.debug diff --git a/benchmarks/opencl/lbm/args.c b/benchmarks/opencl/lbm/args.c new file mode 100644 index 00000000..9d751e29 --- /dev/null +++ b/benchmarks/opencl/lbm/args.c @@ -0,0 +1,617 @@ + +#include +#include +#include +#include +#include +#include + +/*****************************************************************************/ +/* Memory management routines */ + +/* Free an array of owned strings. */ +void +pb_FreeStringArray(char **string_array) +{ + char **p; + + if (!string_array) return; + for (p = string_array; *p; p++) free(*p); + free(string_array); +} + +struct pb_PlatformParam * +pb_PlatformParam(char *name, char *version) +{ + if (name == NULL) { + fprintf(stderr, "pb_PlatformParam: Invalid argument\n"); + exit(-1); + } + + struct pb_PlatformParam *ret = + (struct pb_PlatformParam *)malloc(sizeof (struct pb_PlatformParam)); + + ret->name = name; + ret->version = version; + return ret; +} + +void +pb_FreePlatformParam(struct pb_PlatformParam *p) +{ + if (p == NULL) return; + + free(p->name); + free(p->version); + free(p); +} + +struct pb_DeviceParam * +pb_DeviceParam_index(int index) +{ + struct pb_DeviceParam *ret = + (struct pb_DeviceParam *)malloc(sizeof (struct pb_DeviceParam)); + ret->criterion = pb_Device_INDEX; + ret->index = index; + return ret; +} + +struct pb_DeviceParam * +pb_DeviceParam_cpu(void) +{ + struct pb_DeviceParam *ret = + (struct pb_DeviceParam *)malloc(sizeof (struct pb_DeviceParam)); + ret->criterion = pb_Device_CPU; + return ret; +} + +struct pb_DeviceParam * +pb_DeviceParam_gpu(void) +{ + struct pb_DeviceParam *ret = + (struct pb_DeviceParam *)malloc(sizeof (struct pb_DeviceParam)); + ret->criterion = pb_Device_GPU; + return ret; +} + +struct pb_DeviceParam * +pb_DeviceParam_accelerator(void) +{ + struct pb_DeviceParam *ret = + (struct pb_DeviceParam *)malloc(sizeof (struct pb_DeviceParam)); + ret->criterion = pb_Device_ACCELERATOR; + return ret; +} + +struct pb_DeviceParam * +pb_DeviceParam_name(char *name) +{ + struct pb_DeviceParam *ret = + (struct pb_DeviceParam *)malloc(sizeof (struct pb_DeviceParam)); + ret->criterion = pb_Device_NAME; + ret->name = name; + return ret; +} + +void +pb_FreeDeviceParam(struct pb_DeviceParam *p) +{ + if (p == NULL) return; + + switch(p->criterion) { + case pb_Device_NAME: + free(p->name); + break; + case pb_Device_INDEX: + case pb_Device_CPU: + case pb_Device_ACCELERATOR: + break; + default: + fprintf(stderr, "pb_FreeDeviceParam: Invalid argument\n"); + exit(-1); + } +} + +void +pb_FreeParameters(struct pb_Parameters *p) +{ + free(p->outFile); + pb_FreeStringArray(p->inpFiles); + pb_FreePlatformParam(p->platform); + pb_FreeDeviceParam(p->device); + free(p); +} + +/*****************************************************************************/ + +/* Parse a comma-delimited list of strings into an + * array of strings. */ +static char ** +read_string_array(char *in) +{ + char **ret; + int i; + int count; /* Number of items in the input */ + char *substring; /* Current substring within 'in' */ + + /* Count the number of items in the string */ + count = 1; + for (i = 0; in[i]; i++) if (in[i] == ',') count++; + + /* Allocate storage */ + ret = (char **)malloc((count + 1) * sizeof(char *)); + + /* Create copies of the strings from the list */ + substring = in; + for (i = 0; i < count; i++) { + char *substring_end; + int substring_length; + + /* Find length of substring */ + for (substring_end = substring; + (*substring_end != ',') && (*substring_end != 0); + substring_end++); + + substring_length = substring_end - substring; + + /* Allocate memory and copy the substring */ + ret[i] = (char *)malloc(substring_length + 1); + memcpy(ret[i], substring, substring_length); + ret[i][substring_length] = 0; + + /* go to next substring */ + substring = substring_end + 1; + } + ret[i] = NULL; /* Write the sentinel value */ + + return ret; +} + +static void +report_parse_error(const char *str) +{ + fputs(str, stderr); +} + +/* Interpret a string as a 'pb_DeviceParam' value. + * Return a pointer to a new value, or NULL on failure. + */ +static struct pb_DeviceParam * +read_device_param(char *str) +{ + /* Try different ways of interpreting 'device_string' until one works */ + + /* If argument is an integer, then interpret it as a device index */ + errno = 0; + char *end; + long device_int = strtol(str, &end, 10); + if (!errno) { + /* Negative numbers are not valid */ + if (device_int < 0 || device_int > INT_MAX) return NULL; + + return pb_DeviceParam_index(device_int); + } + + /* Match against predefined strings */ + if (strcmp(str, "CPU") == 0) + return pb_DeviceParam_cpu(); + if (strcmp(str, "GPU") == 0) + return pb_DeviceParam_gpu(); + if (strcmp(str, "ACCELERATOR") == 0) + return pb_DeviceParam_accelerator(); + + /* Assume any other string is a device name */ + return pb_DeviceParam_name(strdup(str)); +} + +/* Interpret a string as a 'pb_PlatformParam' value. + * Return a pointer to a new value, or NULL on failure. + */ +static struct pb_PlatformParam * +read_platform_param(char *str) +{ + int separator_index; /* Index of the '-' character separating + * name and version number. It's -1 if + * there's no '-' character. */ + + /* Find the last occurrence of '-' in 'str' */ + { + char *cur; + separator_index = -1; + for (cur = str; *cur; cur++) { + if (*cur == '-') separator_index = cur - str; + } + } + + /* The platform name is either the entire string, or all characters before + * the separator */ + int name_length = separator_index == -1 ? strlen(str) : separator_index; + char *name_str = (char *)malloc(name_length + 1); + memcpy(name_str, str, name_length); + name_str[name_length] = 0; + + /* The version is either NULL, or all characters after the separator */ + char *version_str; + if (separator_index == -1) { + version_str = NULL; + } + else { + const char *version_input_str = str + separator_index + 1; + int version_length = strlen(version_input_str); + + version_str = (char *)malloc(version_length + 1); + memcpy(version_str, version_input_str, version_length); + version_str[version_length] = 0; + } + + /* Create output structure */ + return pb_PlatformParam(name_str, version_str); +} + +/****************************************************************************/ +/* Argument parsing state */ + +/* Argument parsing state. + * + * Arguments that are interpreted by the argument parser are removed from + * the list. Variables 'argc' and 'argn' do not count arguments that have + * been removed. + * + * During argument parsing, the array of arguments is compacted, overwriting + * the erased arguments. Variable 'argv_put' points to the array element + * where the next argument will be written. Variable 'argv_get' points to + * the array element where the next argument will be read from. + */ +struct argparse { + int argc; /* Number of arguments. Mutable. */ + int argn; /* Current argument index. */ + char **argv_get; /* Argument value being read. */ + char **argv_put; /* Argument value being written. + * argv_put <= argv_get. */ +}; + +static void +initialize_argparse(struct argparse *ap, int argc, char **argv) +{ + ap->argc = argc; + ap->argn = 0; + ap->argv_get = ap->argv_put = argv; +} + +/* Finish argument parsing, without processing the remaining arguments. + * Write new argument count into _argc. */ +static void +finalize_argparse(struct argparse *ap, int *_argc, char **argv) +{ + /* Move the remaining arguments */ + for(; ap->argn < ap->argc; ap->argn++) + *ap->argv_put++ = *ap->argv_get++; + + /* Update the argument count */ + *_argc = ap->argc; + + /* Insert a terminating NULL */ + argv[ap->argc] = NULL; +} + +/* Delete the current argument. The argument will not be visible + * when argument parsing is done. */ +static void +delete_argument(struct argparse *ap) +{ + if (ap->argn >= ap->argc) { + fprintf(stderr, "delete_argument\n"); + } + ap->argc--; + ap->argv_get++; +} + +/* Go to the next argument. Also, move the current argument to its + * final location in argv. */ +static void +next_argument(struct argparse *ap) +{ + if (ap->argn >= ap->argc) { + fprintf(stderr, "next_argument\n"); + } + /* Move argument to its new location. */ + *ap->argv_put++ = *ap->argv_get++; + ap->argn++; +} + +static int +is_end_of_arguments(struct argparse *ap) +{ + return ap->argn == ap->argc; +} + +/* Get the current argument */ +static char * +get_argument(struct argparse *ap) +{ + return *ap->argv_get; +} + +/* Get the current argument, and also delete it */ +static char * +consume_argument(struct argparse *ap) +{ + char *ret = get_argument(ap); + delete_argument(ap); + return ret; +} + +/****************************************************************************/ + +/* The result of parsing a command-line argument */ +typedef enum { + ARGPARSE_OK, /* Success */ + ARGPARSE_ERROR, /* Error */ + ARGPARSE_DONE /* Success, and do not continue parsing */ +} result; + +typedef result parse_action(struct argparse *ap, struct pb_Parameters *params); + + +/* A command-line option */ +struct option { + char short_name; /* If not 0, the one-character + * name of this option */ + const char *long_name; /* If not NULL, the long name of this option */ + parse_action *action; /* What to do when this option occurs. + * Sentinel value is NULL. + */ +}; + +/* Output file + * + * -o FILE + */ +static result +parse_output_file(struct argparse *ap, struct pb_Parameters *params) +{ + if (is_end_of_arguments(ap)) + { + report_parse_error("Expecting file name after '-o'\n"); + return ARGPARSE_ERROR; + } + + /* Replace the output file name */ + free(params->outFile); + params->outFile = strdup(consume_argument(ap)); + + return ARGPARSE_OK; +} + +/* Input files + * + * -i FILE,FILE,... + */ +static result +parse_input_files(struct argparse *ap, struct pb_Parameters *params) +{ + if (is_end_of_arguments(ap)) + { + report_parse_error("Expecting file name after '-i'\n"); + return ARGPARSE_ERROR; + } + + /* Replace the input file list */ + pb_FreeStringArray(params->inpFiles); + params->inpFiles = read_string_array(consume_argument(ap)); + return ARGPARSE_OK; +} + +/* End of options + * + * -- + */ + +static result +parse_end_options(struct argparse *ap, struct pb_Parameters *params) +{ + return ARGPARSE_DONE; +} + +/* OpenCL device + * + * --device X + */ + +static result +parse_device(struct argparse *ap, struct pb_Parameters *params) +{ + /* Read the next argument, which specifies a device */ + + if (is_end_of_arguments(ap)) + { + report_parse_error("Expecting device specification after '--device'\n"); + return ARGPARSE_ERROR; + } + + char *device_string = consume_argument(ap); + struct pb_DeviceParam *device_param = read_device_param(device_string); + + if (!device_param) { + report_parse_error("Unrecognized device specification format on command line\n"); + return ARGPARSE_ERROR; + } + + /* Save the result */ + pb_FreeDeviceParam(params->device); + params->device = device_param; + + return ARGPARSE_OK; +} + +static result +parse_platform(struct argparse *ap, struct pb_Parameters *params) +{ + /* Read the next argument, which specifies a platform */ + + if (is_end_of_arguments(ap)) + { + report_parse_error("Expecting device specification after '--platform'\n"); + return ARGPARSE_ERROR; + } + + char *platform_string = consume_argument(ap); + struct pb_PlatformParam *platform_param = read_platform_param(platform_string); + + if (!platform_param) { + report_parse_error("Unrecognized platform specification format on command line\n"); + return ARGPARSE_ERROR; + } + + /* Save the result */ + pb_FreePlatformParam(params->platform); + params->platform = platform_param; + + return ARGPARSE_OK; +} + + +static struct option options[] = { + { 'o', NULL, &parse_output_file }, + { 'i', NULL, &parse_input_files }, + { '-', NULL, &parse_end_options }, + { 0, "device", &parse_device }, + { 0, "platform", &parse_platform }, + { 0, NULL, NULL } +}; + +static int +is_last_option(struct option *op) +{ + return op->action == NULL; +} + +/****************************************************************************/ + +/* Parse command-line parameters. + * Return zero on error, nonzero otherwise. + * On error, the other outputs may be invalid. + * + * The information collected from parameters is used to update + * 'ret'. 'ret' should be initialized. + * + * '_argc' and 'argv' are updated to contain only the unprocessed arguments. + */ +static int +pb_ParseParameters (struct pb_Parameters *ret, int *_argc, char **argv) +{ + char *err_message; + struct argparse ap; + + /* Each argument */ + initialize_argparse(&ap, *_argc, argv); + while(!is_end_of_arguments(&ap)) { + result arg_result; /* Result of parsing this option */ + char *arg = get_argument(&ap); + + /* Process this argument */ + if (arg[0] == '-') { + /* Single-character flag */ + if ((arg[1] != 0) && (arg[2] == 0)) { + delete_argument(&ap); /* This argument is consumed here */ + + /* Find a matching short option */ + struct option *op; + for (op = options; !is_last_option(op); op++) { + if (op->short_name == arg[1]) { + arg_result = (*op->action)(&ap, ret); + goto option_was_processed; + } + } + + /* No option matches */ + report_parse_error("Unexpected command-line parameter\n"); + arg_result = ARGPARSE_ERROR; + goto option_was_processed; + } + + /* Long flag */ + if (arg[1] == '-') { + delete_argument(&ap); /* This argument is consumed here */ + + /* Find a matching long option */ + struct option *op; + for (op = options; !is_last_option(op); op++) { + if (op->long_name && strcmp(&arg[2], op->long_name) == 0) { + arg_result = (*op->action)(&ap, ret); + goto option_was_processed; + } + } + + /* No option matches */ + report_parse_error("Unexpected command-line parameter\n"); + arg_result = ARGPARSE_ERROR; + goto option_was_processed; + } + } + else { + /* Other arguments are ignored */ + next_argument(&ap); + arg_result = ARGPARSE_OK; + goto option_was_processed; + } + + option_was_processed: + /* Decide what to do next based on 'arg_result' */ + switch(arg_result) { + case ARGPARSE_OK: + /* Continue processing */ + break; + + case ARGPARSE_ERROR: + /* Error exit from the function */ + return 0; + + case ARGPARSE_DONE: + /* Normal exit from the argument parsing loop */ + goto end_of_options; + } + } /* end for each argument */ + + /* If all arguments were processed, then normal exit from the loop */ + + end_of_options: + finalize_argparse(&ap, _argc, argv); + return 1; +} + +/*****************************************************************************/ +/* Other exported functions */ + +struct pb_Parameters * +pb_ReadParameters(int *_argc, char **argv) +{ + struct pb_Parameters *ret = + (struct pb_Parameters *)malloc(sizeof(struct pb_Parameters)); + + /* Initialize the parameters structure */ + ret->outFile = NULL; + ret->inpFiles = (char **)malloc(sizeof(char *)); + ret->inpFiles[0] = NULL; + ret->platform = NULL; + ret->device = NULL; + + /* Read parameters and update _argc, argv */ + if (!pb_ParseParameters(ret, _argc, argv)) { + /* Parse error */ + pb_FreeParameters(ret); + return NULL; + } + + return ret; +} + +int +pb_Parameters_CountInputs(struct pb_Parameters *p) +{ + int n; + + for (n = 0; p->inpFiles[n]; n++); + return n; +} + diff --git a/benchmarks/opencl/lbm/gpu_info.c b/benchmarks/opencl/lbm/gpu_info.c new file mode 100644 index 00000000..4d641f81 --- /dev/null +++ b/benchmarks/opencl/lbm/gpu_info.c @@ -0,0 +1,55 @@ +/*************************************************************************** + *cr + *cr (C) Copyright 2010 The Board of Trustees of the + *cr University of Illinois + *cr All Rights Reserved + *cr + ***************************************************************************/ +//#include +#include +#include +#include +#include + +#include "gpu_info.h" + +void compute_active_thread(size_t *thread, + size_t *grid, + int task, + int pad, + int major, + int minor, + int sm) +{ + int max_thread; + int max_block=8; + if(major==1) + { + if(minor>=2) + max_thread=1024; + else + max_thread=768; + } + else if(major==2) + max_thread=1536; + else + //newer GPU //keep using 2.0 + max_thread=1536; + + int _grid; + int _thread; + + if(task*pad>sm*max_thread) + { + _thread=max_thread/max_block; + _grid = ((task*pad+_thread-1)/_thread)*_thread; + } + else + { + _thread=pad; + _grid=task*pad; + } + + thread[0]=_thread; + grid[0]=_grid; +} diff --git a/benchmarks/opencl/lbm/gpu_info.h b/benchmarks/opencl/lbm/gpu_info.h new file mode 100644 index 00000000..4219cda9 --- /dev/null +++ b/benchmarks/opencl/lbm/gpu_info.h @@ -0,0 +1,20 @@ +/*************************************************************************** + *cr + *cr (C) Copyright 2010 The Board of Trustees of the + *cr University of Illinois + *cr All Rights Reserved + *cr + ***************************************************************************/ + +#ifndef __GPUINFOH__ +#define __GPUINFOH__ + +void compute_active_thread(size_t *thread, + size_t *grid, + int task, + int pad, + int major, + int minor, + int sm); + +#endif diff --git a/benchmarks/opencl/lbm/kernel.cl b/benchmarks/opencl/lbm/kernel.cl new file mode 100644 index 00000000..9afb4d56 --- /dev/null +++ b/benchmarks/opencl/lbm/kernel.cl @@ -0,0 +1,424 @@ +/*************************************************************************** + *cr + *cr (C) Copyright 2010 The Board of Trustees of the + *cr University of Illinois + *cr All Rights Reserved + *cr + ***************************************************************************/ + +#ifndef LBM_KERNEL_CL +#define LBM_KERNEL_CL + + +/*************************************************************************** + *cr + *cr (C) Copyright 2010 The Board of Trustees of the + *cr University of Illinois + *cr All Rights Reserved + *cr + ***************************************************************************/ +/*************************************************************************** + *cr + *cr (C) Copyright 2010 The Board of Trustees of the + *cr University of Illinois + *cr All Rights Reserved + *cr + ***************************************************************************/ + +/*############################################################################*/ + +#ifndef _LAYOUT_CONFIG_H_ +#define _LAYOUT_CONFIG_H_ + +/*############################################################################*/ + +//Unchangeable settings: volume simulation size for the given example +#define SIZE_X (32) +#define SIZE_Y (32) +#define SIZE_Z (32) + +//Changeable settings +//Padding in each dimension +#define PADDING_X (8) +#define PADDING_Y (0) +#define PADDING_Z (4) + +//Pitch in each dimension +#define PADDED_X (SIZE_X+PADDING_X) +#define PADDED_Y (SIZE_Y+PADDING_Y) +#define PADDED_Z (SIZE_Z+PADDING_Z) + +#define TOTAL_CELLS (SIZE_X*SIZE_Y*SIZE_Z) +#define TOTAL_PADDED_CELLS (PADDED_X*PADDED_Y*PADDED_Z) + +//Flattening function +// This macro will be used to map a 3-D index and element to a value +// The macro below implements the equivalent of a 3-D array of +// 20-element structures in C standard layout. +#define CALC_INDEX(x,y,z,e) ( e + N_CELL_ENTRIES*\ + ((x)+(y)*PADDED_X+(z)*PADDED_X*PADDED_Y) ) + +#define MARGIN (CALC_INDEX(0, 0, 2, 0) - CALC_INDEX(0,0,0,0)) + +// Set this value to 1 for GATHER, or 0 for SCATTER +#if 1 +#define GATHER +#else +#define SCATTER +#endif + +//OpenCL block size (not trivially changeable here) +#define BLOCK_SIZE SIZE_X + +/*############################################################################*/ + +typedef enum {C = 0, + N, S, E, W, T, B, + NE, NW, SE, SW, + NT, NB, ST, SB, + ET, EB, WT, WB, + FLAGS, N_CELL_ENTRIES} CELL_ENTRIES; + +#define N_DISTR_FUNCS FLAGS + +typedef enum {OBSTACLE = 1 << 0, + ACCEL = 1 << 1, + IN_OUT_FLOW = 1 << 2} CELL_FLAGS; + +#endif /* _CONFIG_H_ */ + + +#ifndef _LBM_MARCOS_H +#define _LBM_MACROS_H_ + +#define OMEGA (1.95f) + +#define OUTPUT_PRECISION float + +#define BOOL int +#define TRUE (-1) +#define FALSE (0) + +#define DFL1 (1.0f/ 3.0f) +#define DFL2 (1.0f/18.0f) +#define DFL3 (1.0f/36.0f) + +/*############################################################################*/ + +typedef float* LBM_Grid;//float LBM_Grid[PADDED_Z*PADDED_Y*PADDED_X*N_CELL_ENTRIES]; +typedef LBM_Grid* LBM_GridPtr; + +/*############################################################################*/ + + +#define SWEEP_X __temp_x__ +#define SWEEP_Y __temp_y__ +#define SWEEP_Z __temp_z__ +#define SWEEP_VAR int __temp_x__, __temp_y__, __temp_z__; + +#define SWEEP_START(x1,y1,z1,x2,y2,z2) \ + for( __temp_z__ = z1; \ + __temp_z__ < z2; \ + __temp_z__++) { \ + for( __temp_y__ = 0; \ + __temp_y__ < SIZE_Y; \ + __temp_y__++) { \ + for(__temp_x__ = 0; \ + __temp_x__ < SIZE_X; \ + __temp_x__++) { \ + +#define SWEEP_END }}} + + +#define GRID_ENTRY(g,x,y,z,e) ((g)[CALC_INDEX( x, y, z, e)]) +#define GRID_ENTRY_SWEEP(g,dx,dy,dz,e) ((g)[CALC_INDEX((dx)+SWEEP_X, (dy)+SWEEP_Y, (dz)+SWEEP_Z, e)]) + +#define LOCAL(g,e) (GRID_ENTRY_SWEEP( g, 0, 0, 0, e )) +#define NEIGHBOR_C(g,e) (GRID_ENTRY_SWEEP( g, 0, 0, 0, e )) +#define NEIGHBOR_N(g,e) (GRID_ENTRY_SWEEP( g, 0, +1, 0, e )) +#define NEIGHBOR_S(g,e) (GRID_ENTRY_SWEEP( g, 0, -1, 0, e )) +#define NEIGHBOR_E(g,e) (GRID_ENTRY_SWEEP( g, +1, 0, 0, e )) +#define NEIGHBOR_W(g,e) (GRID_ENTRY_SWEEP( g, -1, 0, 0, e )) +#define NEIGHBOR_T(g,e) (GRID_ENTRY_SWEEP( g, 0, 0, +1, e )) +#define NEIGHBOR_B(g,e) (GRID_ENTRY_SWEEP( g, 0, 0, -1, e )) +#define NEIGHBOR_NE(g,e) (GRID_ENTRY_SWEEP( g, +1, +1, 0, e )) +#define NEIGHBOR_NW(g,e) (GRID_ENTRY_SWEEP( g, -1, +1, 0, e )) +#define NEIGHBOR_SE(g,e) (GRID_ENTRY_SWEEP( g, +1, -1, 0, e )) +#define NEIGHBOR_SW(g,e) (GRID_ENTRY_SWEEP( g, -1, -1, 0, e )) +#define NEIGHBOR_NT(g,e) (GRID_ENTRY_SWEEP( g, 0, +1, +1, e )) +#define NEIGHBOR_NB(g,e) (GRID_ENTRY_SWEEP( g, 0, +1, -1, e )) +#define NEIGHBOR_ST(g,e) (GRID_ENTRY_SWEEP( g, 0, -1, +1, e )) +#define NEIGHBOR_SB(g,e) (GRID_ENTRY_SWEEP( g, 0, -1, -1, e )) +#define NEIGHBOR_ET(g,e) (GRID_ENTRY_SWEEP( g, +1, 0, +1, e )) +#define NEIGHBOR_EB(g,e) (GRID_ENTRY_SWEEP( g, +1, 0, -1, e )) +#define NEIGHBOR_WT(g,e) (GRID_ENTRY_SWEEP( g, -1, 0, +1, e )) +#define NEIGHBOR_WB(g,e) (GRID_ENTRY_SWEEP( g, -1, 0, -1, e )) + + +#ifdef SCATTER + +#define SRC_C(g) (LOCAL( g, C )) +#define SRC_N(g) (LOCAL( g, N )) +#define SRC_S(g) (LOCAL( g, S )) +#define SRC_E(g) (LOCAL( g, E )) +#define SRC_W(g) (LOCAL( g, W )) +#define SRC_T(g) (LOCAL( g, T )) +#define SRC_B(g) (LOCAL( g, B )) +#define SRC_NE(g) (LOCAL( g, NE )) +#define SRC_NW(g) (LOCAL( g, NW )) +#define SRC_SE(g) (LOCAL( g, SE )) +#define SRC_SW(g) (LOCAL( g, SW )) +#define SRC_NT(g) (LOCAL( g, NT )) +#define SRC_NB(g) (LOCAL( g, NB )) +#define SRC_ST(g) (LOCAL( g, ST )) +#define SRC_SB(g) (LOCAL( g, SB )) +#define SRC_ET(g) (LOCAL( g, ET )) +#define SRC_EB(g) (LOCAL( g, EB )) +#define SRC_WT(g) (LOCAL( g, WT )) +#define SRC_WB(g) (LOCAL( g, WB )) + +#define DST_C(g) (NEIGHBOR_C ( g, C )) +#define DST_N(g) (NEIGHBOR_N ( g, N )) +#define DST_S(g) (NEIGHBOR_S ( g, S )) +#define DST_E(g) (NEIGHBOR_E ( g, E )) +#define DST_W(g) (NEIGHBOR_W ( g, W )) +#define DST_T(g) (NEIGHBOR_T ( g, T )) +#define DST_B(g) (NEIGHBOR_B ( g, B )) +#define DST_NE(g) (NEIGHBOR_NE( g, NE )) +#define DST_NW(g) (NEIGHBOR_NW( g, NW )) +#define DST_SE(g) (NEIGHBOR_SE( g, SE )) +#define DST_SW(g) (NEIGHBOR_SW( g, SW )) +#define DST_NT(g) (NEIGHBOR_NT( g, NT )) +#define DST_NB(g) (NEIGHBOR_NB( g, NB )) +#define DST_ST(g) (NEIGHBOR_ST( g, ST )) +#define DST_SB(g) (NEIGHBOR_SB( g, SB )) +#define DST_ET(g) (NEIGHBOR_ET( g, ET )) +#define DST_EB(g) (NEIGHBOR_EB( g, EB )) +#define DST_WT(g) (NEIGHBOR_WT( g, WT )) +#define DST_WB(g) (NEIGHBOR_WB( g, WB )) + +#else /* GATHER */ + +#define SRC_C(g) (NEIGHBOR_C ( g, C )) +#define SRC_N(g) (NEIGHBOR_S ( g, N )) +#define SRC_S(g) (NEIGHBOR_N ( g, S )) +#define SRC_E(g) (NEIGHBOR_W ( g, E )) +#define SRC_W(g) (NEIGHBOR_E ( g, W )) +#define SRC_T(g) (NEIGHBOR_B ( g, T )) +#define SRC_B(g) (NEIGHBOR_T ( g, B )) +#define SRC_NE(g) (NEIGHBOR_SW( g, NE )) +#define SRC_NW(g) (NEIGHBOR_SE( g, NW )) +#define SRC_SE(g) (NEIGHBOR_NW( g, SE )) +#define SRC_SW(g) (NEIGHBOR_NE( g, SW )) +#define SRC_NT(g) (NEIGHBOR_SB( g, NT )) +#define SRC_NB(g) (NEIGHBOR_ST( g, NB )) +#define SRC_ST(g) (NEIGHBOR_NB( g, ST )) +#define SRC_SB(g) (NEIGHBOR_NT( g, SB )) +#define SRC_ET(g) (NEIGHBOR_WB( g, ET )) +#define SRC_EB(g) (NEIGHBOR_WT( g, EB )) +#define SRC_WT(g) (NEIGHBOR_EB( g, WT )) +#define SRC_WB(g) (NEIGHBOR_ET( g, WB )) + +#define DST_C(g) (LOCAL( g, C )) +#define DST_N(g) (LOCAL( g, N )) +#define DST_S(g) (LOCAL( g, S )) +#define DST_E(g) (LOCAL( g, E )) +#define DST_W(g) (LOCAL( g, W )) +#define DST_T(g) (LOCAL( g, T )) +#define DST_B(g) (LOCAL( g, B )) +#define DST_NE(g) (LOCAL( g, NE )) +#define DST_NW(g) (LOCAL( g, NW )) +#define DST_SE(g) (LOCAL( g, SE )) +#define DST_SW(g) (LOCAL( g, SW )) +#define DST_NT(g) (LOCAL( g, NT )) +#define DST_NB(g) (LOCAL( g, NB )) +#define DST_ST(g) (LOCAL( g, ST )) +#define DST_SB(g) (LOCAL( g, SB )) +#define DST_ET(g) (LOCAL( g, ET )) +#define DST_EB(g) (LOCAL( g, EB )) +#define DST_WT(g) (LOCAL( g, WT )) +#define DST_WB(g) (LOCAL( g, WB )) + +#endif /* GATHER */ + +#define MAGIC_CAST(v) ((unsigned int*) ((void*) (&(v)))) +#define FLAG_VAR(v) unsigned int* _aux_ = MAGIC_CAST(v) + +#define TEST_FLAG_SWEEP(g,f) ((*MAGIC_CAST(LOCAL(g, FLAGS))) & (f)) +#define SET_FLAG_SWEEP(g,f) {FLAG_VAR(LOCAL(g, FLAGS)); (*_aux_) |= (f);} +#define CLEAR_FLAG_SWEEP(g,f) {FLAG_VAR(LOCAL(g, FLAGS)); (*_aux_) &= ~(f);} +#define CLEAR_ALL_FLAGS_SWEEP(g) {FLAG_VAR(LOCAL(g, FLAGS)); (*_aux_) = 0;} + +#define TEST_FLAG(g,x,y,z,f) ((*MAGIC_CAST(GRID_ENTRY(g, x, y, z, FLAGS))) & (f)) +#define SET_FLAG(g,x,y,z,f) {FLAG_VAR(GRID_ENTRY(g, x, y, z, FLAGS)); (*_aux_) |= (f);} +#define CLEAR_FLAG(g,x,y,z,f) {FLAG_VAR(GRID_ENTRY(g, x, y, z, FLAGS)); (*_aux_) &= ~(f);} +#define CLEAR_ALL_FLAGS(g,x,y,z) {FLAG_VAR(GRID_ENTRY(g, x, y, z, FLAGS)); (*_aux_) = 0;} + +/*############################################################################*/ + +#endif /* _CONFIG_H_ */ + + +/******************************************************************************/ + +__kernel void performStreamCollide_kernel( __global float* srcGrid, __global float* dstGrid ) +{ + srcGrid += MARGIN; + dstGrid += MARGIN; + + + //Using some predefined macros here. Consider this the declaration + // and initialization of the variables SWEEP_X, SWEEP_Y and SWEEP_Z + + SWEEP_VAR + SWEEP_X = get_local_id(0); + SWEEP_Y = get_group_id(0); + SWEEP_Z = get_group_id(1); + + float temp_swp, tempC, tempN, tempS, tempE, tempW, tempT, tempB; + float tempNE, tempNW, tempSE, tempSW, tempNT, tempNB, tempST ; + float tempSB, tempET, tempEB, tempWT, tempWB ; + + //Load all of the input fields + //This is a gather operation of the SCATTER preprocessor variable + // is undefined in layout_config.h, or a "local" read otherwise + tempC = SRC_C(srcGrid); + + tempN = SRC_N(srcGrid); + tempS = SRC_S(srcGrid); + tempE = SRC_E(srcGrid); + tempW = SRC_W(srcGrid); + tempT = SRC_T(srcGrid); + tempB = SRC_B(srcGrid); + + tempNE = SRC_NE(srcGrid); + tempNW = SRC_NW(srcGrid); + tempSE = SRC_SE(srcGrid); + tempSW = SRC_SW(srcGrid); + tempNT = SRC_NT(srcGrid); + tempNB = SRC_NB(srcGrid); + tempST = SRC_ST(srcGrid); + tempSB = SRC_SB(srcGrid); + tempET = SRC_ET(srcGrid); + tempEB = SRC_EB(srcGrid); + tempWT = SRC_WT(srcGrid); + tempWB = SRC_WB(srcGrid); + + //Test whether the cell is fluid or obstacle + if(as_uint(LOCAL(srcGrid,FLAGS)) & (OBSTACLE)) { + + //Swizzle the inputs: reflect any fluid coming into this cell + // back to where it came from + temp_swp = tempN ; tempN = tempS ; tempS = temp_swp ; + temp_swp = tempE ; tempE = tempW ; tempW = temp_swp; + temp_swp = tempT ; tempT = tempB ; tempB = temp_swp; + temp_swp = tempNE; tempNE = tempSW ; tempSW = temp_swp; + temp_swp = tempNW; tempNW = tempSE ; tempSE = temp_swp; + temp_swp = tempNT ; tempNT = tempSB ; tempSB = temp_swp; + temp_swp = tempNB ; tempNB = tempST ; tempST = temp_swp; + temp_swp = tempET ; tempET= tempWB ; tempWB = temp_swp; + temp_swp = tempEB ; tempEB = tempWT ; tempWT = temp_swp; + } + else { + + //The math meat of LBM: ignore for optimization + float ux, uy, uz, rho, u2; + float temp1, temp2, temp_base; + rho = tempC + tempN + + tempS + tempE + + tempW + tempT + + tempB + tempNE + + tempNW + tempSE + + tempSW + tempNT + + tempNB + tempST + + tempSB + tempET + + tempEB + tempWT + + tempWB; + + ux = + tempE - tempW + + tempNE - tempNW + + tempSE - tempSW + + tempET + tempEB + - tempWT - tempWB; + + uy = + tempN - tempS + + tempNE + tempNW + - tempSE - tempSW + + tempNT + tempNB + - tempST - tempSB; + + uz = + tempT - tempB + + tempNT - tempNB + + tempST - tempSB + + tempET - tempEB + + tempWT - tempWB; + + ux /= rho; + uy /= rho; + uz /= rho; + + if(as_uint(LOCAL(srcGrid,FLAGS)) & (ACCEL)) { + + ux = 0.005f; + uy = 0.002f; + uz = 0.000f; + } + + u2 = 1.5f * (ux*ux + uy*uy + uz*uz) - 1.0f; + temp_base = OMEGA*rho; + temp1 = DFL1*temp_base; + + //Put the output values for this cell in the shared memory + temp_base = OMEGA*rho; + temp1 = DFL1*temp_base; + temp2 = 1.0f-OMEGA; + tempC = temp2*tempC + temp1*( - u2); + temp1 = DFL2*temp_base; + tempN = temp2*tempN + temp1*( uy*(4.5f*uy + 3.0f) - u2); + tempS = temp2*tempS + temp1*( uy*(4.5f*uy - 3.0f) - u2); + tempT = temp2*tempT + temp1*( uz*(4.5f*uz + 3.0f) - u2); + tempB = temp2*tempB + temp1*( uz*(4.5f*uz - 3.0f) - u2); + tempE = temp2*tempE + temp1*( ux*(4.5f*ux + 3.0f) - u2); + tempW = temp2*tempW + temp1*( ux*(4.5f*ux - 3.0f) - u2); + temp1 = DFL3*temp_base; + tempNT= temp2*tempNT + temp1 *( (+uy+uz)*(4.5f*(+uy+uz) + 3.0f) - u2); + tempNB= temp2*tempNB + temp1 *( (+uy-uz)*(4.5f*(+uy-uz) + 3.0f) - u2); + tempST= temp2*tempST + temp1 *( (-uy+uz)*(4.5f*(-uy+uz) + 3.0f) - u2); + tempSB= temp2*tempSB + temp1 *( (-uy-uz)*(4.5f*(-uy-uz) + 3.0f) - u2); + tempNE = temp2*tempNE + temp1 *( (+ux+uy)*(4.5f*(+ux+uy) + 3.0f) - u2); + tempSE = temp2*tempSE + temp1 *((+ux-uy)*(4.5f*(+ux-uy) + 3.0f) - u2); + tempET = temp2*tempET + temp1 *( (+ux+uz)*(4.5f*(+ux+uz) + 3.0f) - u2); + tempEB = temp2*tempEB + temp1 *( (+ux-uz)*(4.5f*(+ux-uz) + 3.0f) - u2); + tempNW = temp2*tempNW + temp1 *( (-ux+uy)*(4.5f*(-ux+uy) + 3.0f) - u2); + tempSW = temp2*tempSW + temp1 *( (-ux-uy)*(4.5f*(-ux-uy) + 3.0f) - u2); + tempWT = temp2*tempWT + temp1 *( (-ux+uz)*(4.5f*(-ux+uz) + 3.0f) - u2); + tempWB = temp2*tempWB + temp1 *( (-ux-uz)*(4.5f*(-ux-uz) + 3.0f) - u2); + } + + //Write the results computed above + //This is a scatter operation of the SCATTER preprocessor variable + // is defined in layout_config.h, or a "local" write otherwise + DST_C ( dstGrid ) = tempC; + + DST_N ( dstGrid ) = tempN; + DST_S ( dstGrid ) = tempS; + DST_E ( dstGrid ) = tempE; + DST_W ( dstGrid ) = tempW; + DST_T ( dstGrid ) = tempT; + DST_B ( dstGrid ) = tempB; + + DST_NE( dstGrid ) = tempNE; + DST_NW( dstGrid ) = tempNW; + DST_SE( dstGrid ) = tempSE; + DST_SW( dstGrid ) = tempSW; + DST_NT( dstGrid ) = tempNT; + DST_NB( dstGrid ) = tempNB; + DST_ST( dstGrid ) = tempST; + DST_SB( dstGrid ) = tempSB; + DST_ET( dstGrid ) = tempET; + DST_EB( dstGrid ) = tempEB; + DST_WT( dstGrid ) = tempWT; + DST_WB( dstGrid ) = tempWB; +} + +#endif // LBM_KERNEL_CL diff --git a/benchmarks/opencl/lbm/layout_config.h b/benchmarks/opencl/lbm/layout_config.h new file mode 100644 index 00000000..9ce9a52e --- /dev/null +++ b/benchmarks/opencl/lbm/layout_config.h @@ -0,0 +1,69 @@ +/*************************************************************************** + *cr + *cr (C) Copyright 2010 The Board of Trustees of the + *cr University of Illinois + *cr All Rights Reserved + *cr + ***************************************************************************/ + +/*############################################################################*/ + +#ifndef _LAYOUT_CONFIG_H_ +#define _LAYOUT_CONFIG_H_ + +/*############################################################################*/ + +//Unchangeable settings: volume simulation size for the given example +#define SIZE_X (32) +#define SIZE_Y (16) +#define SIZE_Z (8) + +//Changeable settings +//Padding in each dimension +#define PADDING_X (8) +#define PADDING_Y (0) +#define PADDING_Z (4) + +//Pitch in each dimension +#define PADDED_X (SIZE_X+PADDING_X) +#define PADDED_Y (SIZE_Y+PADDING_Y) +#define PADDED_Z (SIZE_Z+PADDING_Z) + +#define TOTAL_CELLS (SIZE_X*SIZE_Y*SIZE_Z) +#define TOTAL_PADDED_CELLS (PADDED_X*PADDED_Y*PADDED_Z) + +//Flattening function +// This macro will be used to map a 3-D index and element to a value +// The macro below implements the equivalent of a 3-D array of +// 20-element structures in C standard layout. +#define CALC_INDEX(x,y,z,e) ( e + N_CELL_ENTRIES*\ + ((x)+(y)*PADDED_X+(z)*PADDED_X*PADDED_Y) ) + +#define MARGIN (CALC_INDEX(0, 0, 2, 0) - CALC_INDEX(0,0,0,0)) + +// Set this value to 1 for GATHER, or 0 for SCATTER +#if 1 +#define GATHER +#else +#define SCATTER +#endif + +//OpenCL block size (not trivially changeable here) +#define BLOCK_SIZE SIZE_X + +/*############################################################################*/ + +typedef enum {C = 0, + N, S, E, W, T, B, + NE, NW, SE, SW, + NT, NB, ST, SB, + ET, EB, WT, WB, + FLAGS, N_CELL_ENTRIES} CELL_ENTRIES; + +#define N_DISTR_FUNCS FLAGS + +typedef enum {OBSTACLE = 1 << 0, + ACCEL = 1 << 1, + IN_OUT_FLOW = 1 << 2} CELL_FLAGS; + +#endif /* _CONFIG_H_ */ diff --git a/benchmarks/opencl/lbm/lbm.c b/benchmarks/opencl/lbm/lbm.c new file mode 100644 index 00000000..0ea55d9e --- /dev/null +++ b/benchmarks/opencl/lbm/lbm.c @@ -0,0 +1,356 @@ +/*************************************************************************** + *cr + *cr (C) Copyright 2010 The Board of Trustees of the + *cr University of Illinois + *cr All Rights Reserved + *cr + ***************************************************************************/ + +/*############################################################################*/ + +// includes, system +#include +#include +#include +#include +#include +#include + +// includes, project +#include "layout_config.h" +#include "lbm_macros.h" +#include "ocl.h" +#include "lbm.h" + +#include "parboil.h" + +/******************************************************************************/ + +void OpenCL_LBM_performStreamCollide( const OpenCL_Param* prm, cl_mem srcGrid, cl_mem dstGrid ) { + + cl_int clStatus; + + clStatus = clSetKernelArg(prm->clKernel,0,sizeof(cl_mem),(void*)&srcGrid); + CHECK_ERROR("clSetKernelArg") + + clStatus = clSetKernelArg(prm->clKernel,1,sizeof(cl_mem),(void*)&dstGrid); + CHECK_ERROR("clSetKernelArg") + + size_t dimBlock[3] = {SIZE_X,1,1}; + size_t dimGrid[3] = {SIZE_X*SIZE_Y,SIZE_Z,1}; + clStatus = clEnqueueNDRangeKernel(prm->clCommandQueue,prm->clKernel,3,NULL,dimGrid,dimBlock,0,NULL,NULL); + CHECK_ERROR("clEnqueueNDRangeKernel") + + clStatus = clFinish(prm->clCommandQueue); + CHECK_ERROR("clFinish") +} +/*############################################################################*/ + +void LBM_allocateGrid( float** ptr ) { + const size_t size = TOTAL_PADDED_CELLS * N_CELL_ENTRIES * sizeof(float); + *ptr = (float*)malloc( size ); + if( !ptr ) { + printf( "LBM_allocateGrid: could not allocate %.1f MByte\n", + size / (1024.0*1024.0) ); + exit( 1 ); + } + + memset( *ptr, 0, size ); + + printf( "LBM_allocateGrid: allocated %.1f MByte\n", + size / (1024.0*1024.0) ); + + *ptr += MARGIN; +} + +/******************************************************************************/ + +void OpenCL_LBM_allocateGrid( const OpenCL_Param* prm, cl_mem* ptr ) { + const size_t size = TOTAL_PADDED_CELLS*N_CELL_ENTRIES*sizeof( float ); + cl_int clStatus; +/*size_t max_alloc_size = 0; + clGetDeviceInfo(prm->clDevice, CL_DEVICE_MAX_MEM_ALLOC_SIZE, + sizeof(max_alloc_size), &max_alloc_size, NULL); + if (max_alloc_size < size) { + fprintf(stderr, "Can't allocate buffer: max alloc size is %dMB\n", + (int) (max_alloc_size >> 20)); + exit(-1); + }*/ + *ptr = clCreateBuffer(prm->clContext,CL_MEM_READ_WRITE,size,NULL,&clStatus); + CHECK_ERROR("clCreateBuffer") +} + +/*############################################################################*/ + +void LBM_freeGrid( float** ptr ) { + free( *ptr-MARGIN ); + *ptr = NULL; +} + +/******************************************************************************/ + +void OpenCL_LBM_freeGrid(cl_mem ptr) { + clReleaseMemObject(ptr); +} + +/*############################################################################*/ + +void LBM_initializeGrid( LBM_Grid grid ) { + SWEEP_VAR + + SWEEP_START( 0, 0, 0, 0, 0, SIZE_Z ) + SRC_C( grid ) = DFL1; + SRC_N( grid ) = DFL2; + SRC_S( grid ) = DFL2; + SRC_E( grid ) = DFL2; + SRC_W( grid ) = DFL2; + SRC_T( grid ) = DFL2; + SRC_B( grid ) = DFL2; + SRC_NE( grid ) = DFL3; + SRC_NW( grid ) = DFL3; + SRC_SE( grid ) = DFL3; + SRC_SW( grid ) = DFL3; + SRC_NT( grid ) = DFL3; + SRC_NB( grid ) = DFL3; + SRC_ST( grid ) = DFL3; + SRC_SB( grid ) = DFL3; + SRC_ET( grid ) = DFL3; + SRC_EB( grid ) = DFL3; + SRC_WT( grid ) = DFL3; + SRC_WB( grid ) = DFL3; + + CLEAR_ALL_FLAGS_SWEEP( grid ); + SWEEP_END +} + +/******************************************************************************/ + +void OpenCL_LBM_initializeGrid( const OpenCL_Param* prm, cl_mem d_grid, LBM_Grid h_grid ) { + const size_t size = TOTAL_PADDED_CELLS*N_CELL_ENTRIES*sizeof( float ); + cl_int clStatus; + clStatus = clEnqueueWriteBuffer(prm->clCommandQueue,d_grid,CL_TRUE,0,size,h_grid-MARGIN,0,NULL,NULL); + CHECK_ERROR("clEnqueueWriteBuffer") +} + +void OpenCL_LBM_getDeviceGrid( const OpenCL_Param* prm, cl_mem d_grid, LBM_Grid h_grid ) { + const size_t size = TOTAL_PADDED_CELLS*N_CELL_ENTRIES*sizeof( float ); + cl_int clStatus; + clStatus = clEnqueueReadBuffer(prm->clCommandQueue,d_grid,CL_TRUE,0,size,h_grid-MARGIN,0,NULL,NULL); + CHECK_ERROR("clEnqueueReadBuffer") +} + +/*############################################################################*/ + +void LBM_swapGrids( cl_mem* grid1, cl_mem* grid2 ) { + cl_mem aux = *grid1; + *grid1 = *grid2; + *grid2 = aux; +} + +/*############################################################################*/ + +void LBM_loadObstacleFile( LBM_Grid grid, const char* filename ) { + int x, y, z; + + FILE* file = fopen( filename, "rb" ); + + for( z = 0; z < SIZE_Z; z++ ) { + for( y = 0; y < SIZE_Y; y++ ) { + for( x = 0; x < SIZE_X; x++ ) { + if( fgetc( file ) != '.' ) SET_FLAG( grid, x, y, z, OBSTACLE ); + } + fgetc( file ); + } + fgetc( file ); + } + + fclose( file ); +} + +/*############################################################################*/ + +void LBM_initializeSpecialCellsForLDC( LBM_Grid grid ) { + int x, y, z; + + for( z = -2; z < SIZE_Z+2; z++ ) { + for( y = 0; y < SIZE_Y; y++ ) { + for( x = 0; x < SIZE_X; x++ ) { + if( x == 0 || x == SIZE_X-1 || + y == 0 || y == SIZE_Y-1 || + z == 0 || z == SIZE_Z-1 ) { + SET_FLAG( grid, x, y, z, OBSTACLE ); + } + else { + if( (z == 1 || z == SIZE_Z-2) && + x > 1 && x < SIZE_X-2 && + y > 1 && y < SIZE_Y-2 ) { + SET_FLAG( grid, x, y, z, ACCEL ); + } + } + } + } + } +} + +/*############################################################################*/ + +void LBM_showGridStatistics( LBM_Grid grid ) { + int nObstacleCells = 0, + nAccelCells = 0, + nFluidCells = 0; + float ux, uy, uz; + float minU2 = 1e+30, maxU2 = -1e+30, u2; + float minRho = 1e+30, maxRho = -1e+30, rho; + float mass = 0; + + SWEEP_VAR + + SWEEP_START( 0, 0, 0, 0, 0, SIZE_Z ) + rho = LOCAL( grid, C ) + LOCAL( grid, N ) + + LOCAL( grid, S ) + LOCAL( grid, E ) + + LOCAL( grid, W ) + LOCAL( grid, T ) + + LOCAL( grid, B ) + LOCAL( grid, NE ) + + LOCAL( grid, NW ) + LOCAL( grid, SE ) + + LOCAL( grid, SW ) + LOCAL( grid, NT ) + + LOCAL( grid, NB ) + LOCAL( grid, ST ) + + LOCAL( grid, SB ) + LOCAL( grid, ET ) + + LOCAL( grid, EB ) + LOCAL( grid, WT ) + + LOCAL( grid, WB ); + + if( rho < minRho ) minRho = rho; + if( rho > maxRho ) maxRho = rho; + mass += rho; + + if( TEST_FLAG_SWEEP( grid, OBSTACLE )) { + nObstacleCells++; + } + else { + if( TEST_FLAG_SWEEP( grid, ACCEL )) + nAccelCells++; + else + nFluidCells++; + + ux = + LOCAL( grid, E ) - LOCAL( grid, W ) + + LOCAL( grid, NE ) - LOCAL( grid, NW ) + + LOCAL( grid, SE ) - LOCAL( grid, SW ) + + LOCAL( grid, ET ) + LOCAL( grid, EB ) + - LOCAL( grid, WT ) - LOCAL( grid, WB ); + uy = + LOCAL( grid, N ) - LOCAL( grid, S ) + + LOCAL( grid, NE ) + LOCAL( grid, NW ) + - LOCAL( grid, SE ) - LOCAL( grid, SW ) + + LOCAL( grid, NT ) + LOCAL( grid, NB ) + - LOCAL( grid, ST ) - LOCAL( grid, SB ); + uz = + LOCAL( grid, T ) - LOCAL( grid, B ) + + LOCAL( grid, NT ) - LOCAL( grid, NB ) + + LOCAL( grid, ST ) - LOCAL( grid, SB ) + + LOCAL( grid, ET ) - LOCAL( grid, EB ) + + LOCAL( grid, WT ) - LOCAL( grid, WB ); + u2 = (ux*ux + uy*uy + uz*uz) / (rho*rho); + if( u2 < minU2 ) minU2 = u2; + if( u2 > maxU2 ) maxU2 = u2; + } + SWEEP_END + + printf( "LBM_showGridStatistics:\n" + "\tnObstacleCells: %7i nAccelCells: %7i nFluidCells: %7i\n" + "\tminRho: %8.4f maxRho: %8.4f mass: %e\n" + "\tminU: %e maxU: %e\n\n", + nObstacleCells, nAccelCells, nFluidCells, + minRho, maxRho, mass, + sqrt( minU2 ), sqrt( maxU2 ) ); + +} + +/*############################################################################*/ + +static void storeValue( FILE* file, OUTPUT_PRECISION* v ) { + const int litteBigEndianTest = 1; + if( (*((unsigned char*) &litteBigEndianTest)) == 0 ) { /* big endian */ + const char* vPtr = (char*) v; + char buffer[sizeof( OUTPUT_PRECISION )]; + int i; + + for (i = 0; i < sizeof( OUTPUT_PRECISION ); i++) + buffer[i] = vPtr[sizeof( OUTPUT_PRECISION ) - i - 1]; + + fwrite( buffer, sizeof( OUTPUT_PRECISION ), 1, file ); + } + else { /* little endian */ + fwrite( v, sizeof( OUTPUT_PRECISION ), 1, file ); + } +} + +/*############################################################################*/ + +static void loadValue( FILE* file, OUTPUT_PRECISION* v ) { + const int litteBigEndianTest = 1; + if( (*((unsigned char*) &litteBigEndianTest)) == 0 ) { /* big endian */ + char* vPtr = (char*) v; + char buffer[sizeof( OUTPUT_PRECISION )]; + int i; + + fread( buffer, sizeof( OUTPUT_PRECISION ), 1, file ); + + for (i = 0; i < sizeof( OUTPUT_PRECISION ); i++) + vPtr[i] = buffer[sizeof( OUTPUT_PRECISION ) - i - 1]; + } + else { /* little endian */ + fread( v, sizeof( OUTPUT_PRECISION ), 1, file ); + } +} + +/*############################################################################*/ + +void LBM_storeVelocityField( LBM_Grid grid, const char* filename, + const int binary ) { + OUTPUT_PRECISION rho, ux, uy, uz; + + FILE* file = fopen( filename, (binary ? "wb" : "w") ); + + SWEEP_VAR + SWEEP_START(0,0,0,SIZE_X,SIZE_Y,SIZE_Z) + rho = + SRC_C( grid ) + SRC_N( grid ) + + SRC_S( grid ) + SRC_E( grid ) + + SRC_W( grid ) + SRC_T( grid ) + + SRC_B( grid ) + SRC_NE( grid ) + + SRC_NW( grid ) + SRC_SE( grid ) + + SRC_SW( grid ) + SRC_NT( grid ) + + SRC_NB( grid ) + SRC_ST( grid ) + + SRC_SB( grid ) + SRC_ET( grid ) + + SRC_EB( grid ) + SRC_WT( grid ) + + SRC_WB( grid ); + ux = + SRC_E( grid ) - SRC_W( grid ) + + SRC_NE( grid ) - SRC_NW( grid ) + + SRC_SE( grid ) - SRC_SW( grid ) + + SRC_ET( grid ) + SRC_EB( grid ) + - SRC_WT( grid ) - SRC_WB( grid ); + uy = + SRC_N( grid ) - SRC_S( grid ) + + SRC_NE( grid ) + SRC_NW( grid ) + - SRC_SE( grid ) - SRC_SW( grid ) + + SRC_NT( grid ) + SRC_NB( grid ) + - SRC_ST( grid ) - SRC_SB( grid ); + uz = + SRC_T( grid ) - SRC_B( grid ) + + SRC_NT( grid ) - SRC_NB( grid ) + + SRC_ST( grid ) - SRC_SB( grid ) + + SRC_ET( grid ) - SRC_EB( grid ) + + SRC_WT( grid ) - SRC_WB( grid ); + ux /= rho; + uy /= rho; + uz /= rho; + + if( binary ) { + /* + fwrite( &ux, sizeof( ux ), 1, file ); + fwrite( &uy, sizeof( uy ), 1, file ); + fwrite( &uz, sizeof( uz ), 1, file ); + */ + storeValue( file, &ux ); + storeValue( file, &uy ); + storeValue( file, &uz ); + } else + fprintf( file, "%e %e %e\n", ux, uy, uz ); + + SWEEP_END; + + fclose( file ); +} diff --git a/benchmarks/opencl/lbm/lbm.h b/benchmarks/opencl/lbm/lbm.h new file mode 100644 index 00000000..5256b8d2 --- /dev/null +++ b/benchmarks/opencl/lbm/lbm.h @@ -0,0 +1,39 @@ +/*************************************************************************** + *cr + *cr (C) Copyright 2010 The Board of Trustees of the + *cr University of Illinois + *cr All Rights Reserved + *cr + ***************************************************************************/ + +/*############################################################################*/ + +#ifndef _LBM_H_ +#define _LBM_H_ + +/*############################################################################*/ + +#include "ocl.h" +#include "lbm_macros.h" + +void LBM_allocateGrid( float** ptr ); +void LBM_freeGrid( float** ptr ); +void LBM_initializeGrid( LBM_Grid grid ); +void LBM_initializeSpecialCellsForLDC( LBM_Grid grid ); +void LBM_loadObstacleFile( LBM_Grid grid, const char* filename ); +void LBM_swapGrids( cl_mem* grid1, cl_mem* grid2 ); +void LBM_showGridStatistics( LBM_Grid Grid ); +void LBM_storeVelocityField( LBM_Grid grid, const char* filename, + const BOOL binary ); + +/* OpenCL *********************************************************************/ + +void OpenCL_LBM_allocateGrid( const OpenCL_Param* prm, cl_mem* ptr ); +void OpenCL_LBM_freeGrid( cl_mem ptr ); +void OpenCL_LBM_initializeGrid( const OpenCL_Param* prm, cl_mem d_grid, LBM_Grid h_grid ); +void OpenCL_LBM_getDeviceGrid( const OpenCL_Param* prm, cl_mem d_grid, LBM_Grid h_grid ); +void OpenCL_LBM_performStreamCollide( const OpenCL_Param* prm, cl_mem srcGrid, cl_mem dstGrid ); + +/*############################################################################*/ + +#endif /* _LBM_H_ */ diff --git a/benchmarks/opencl/lbm/lbm_macros.h b/benchmarks/opencl/lbm/lbm_macros.h new file mode 100644 index 00000000..24fad432 --- /dev/null +++ b/benchmarks/opencl/lbm/lbm_macros.h @@ -0,0 +1,177 @@ +/*************************************************************************** + *cr + *cr (C) Copyright 2010 The Board of Trustees of the + *cr University of Illinois + *cr All Rights Reserved + *cr + ***************************************************************************/ + +#ifndef _LBM_MARCOS_H +#define _LBM_MACROS_H_ + +#define OMEGA (1.95f) + +#define OUTPUT_PRECISION float + +#define BOOL int +#define TRUE (-1) +#define FALSE (0) + +#define DFL1 (1.0f/ 3.0f) +#define DFL2 (1.0f/18.0f) +#define DFL3 (1.0f/36.0f) + +/*############################################################################*/ + +typedef float* LBM_Grid;//float LBM_Grid[PADDED_Z*PADDED_Y*PADDED_X*N_CELL_ENTRIES]; +typedef LBM_Grid* LBM_GridPtr; + +/*############################################################################*/ + + +#define SWEEP_X __temp_x__ +#define SWEEP_Y __temp_y__ +#define SWEEP_Z __temp_z__ +#define SWEEP_VAR int __temp_x__, __temp_y__, __temp_z__; + +#define SWEEP_START(x1,y1,z1,x2,y2,z2) \ + for( __temp_z__ = z1; \ + __temp_z__ < z2; \ + __temp_z__++) { \ + for( __temp_y__ = 0; \ + __temp_y__ < SIZE_Y; \ + __temp_y__++) { \ + for(__temp_x__ = 0; \ + __temp_x__ < SIZE_X; \ + __temp_x__++) { \ + +#define SWEEP_END }}} + + +#define GRID_ENTRY(g,x,y,z,e) ((g)[CALC_INDEX( x, y, z, e)]) +#define GRID_ENTRY_SWEEP(g,dx,dy,dz,e) ((g)[CALC_INDEX((dx)+SWEEP_X, (dy)+SWEEP_Y, (dz)+SWEEP_Z, e)]) + +#define LOCAL(g,e) (GRID_ENTRY_SWEEP( g, 0, 0, 0, e )) +#define NEIGHBOR_C(g,e) (GRID_ENTRY_SWEEP( g, 0, 0, 0, e )) +#define NEIGHBOR_N(g,e) (GRID_ENTRY_SWEEP( g, 0, +1, 0, e )) +#define NEIGHBOR_S(g,e) (GRID_ENTRY_SWEEP( g, 0, -1, 0, e )) +#define NEIGHBOR_E(g,e) (GRID_ENTRY_SWEEP( g, +1, 0, 0, e )) +#define NEIGHBOR_W(g,e) (GRID_ENTRY_SWEEP( g, -1, 0, 0, e )) +#define NEIGHBOR_T(g,e) (GRID_ENTRY_SWEEP( g, 0, 0, +1, e )) +#define NEIGHBOR_B(g,e) (GRID_ENTRY_SWEEP( g, 0, 0, -1, e )) +#define NEIGHBOR_NE(g,e) (GRID_ENTRY_SWEEP( g, +1, +1, 0, e )) +#define NEIGHBOR_NW(g,e) (GRID_ENTRY_SWEEP( g, -1, +1, 0, e )) +#define NEIGHBOR_SE(g,e) (GRID_ENTRY_SWEEP( g, +1, -1, 0, e )) +#define NEIGHBOR_SW(g,e) (GRID_ENTRY_SWEEP( g, -1, -1, 0, e )) +#define NEIGHBOR_NT(g,e) (GRID_ENTRY_SWEEP( g, 0, +1, +1, e )) +#define NEIGHBOR_NB(g,e) (GRID_ENTRY_SWEEP( g, 0, +1, -1, e )) +#define NEIGHBOR_ST(g,e) (GRID_ENTRY_SWEEP( g, 0, -1, +1, e )) +#define NEIGHBOR_SB(g,e) (GRID_ENTRY_SWEEP( g, 0, -1, -1, e )) +#define NEIGHBOR_ET(g,e) (GRID_ENTRY_SWEEP( g, +1, 0, +1, e )) +#define NEIGHBOR_EB(g,e) (GRID_ENTRY_SWEEP( g, +1, 0, -1, e )) +#define NEIGHBOR_WT(g,e) (GRID_ENTRY_SWEEP( g, -1, 0, +1, e )) +#define NEIGHBOR_WB(g,e) (GRID_ENTRY_SWEEP( g, -1, 0, -1, e )) + + +#ifdef SCATTER + +#define SRC_C(g) (LOCAL( g, C )) +#define SRC_N(g) (LOCAL( g, N )) +#define SRC_S(g) (LOCAL( g, S )) +#define SRC_E(g) (LOCAL( g, E )) +#define SRC_W(g) (LOCAL( g, W )) +#define SRC_T(g) (LOCAL( g, T )) +#define SRC_B(g) (LOCAL( g, B )) +#define SRC_NE(g) (LOCAL( g, NE )) +#define SRC_NW(g) (LOCAL( g, NW )) +#define SRC_SE(g) (LOCAL( g, SE )) +#define SRC_SW(g) (LOCAL( g, SW )) +#define SRC_NT(g) (LOCAL( g, NT )) +#define SRC_NB(g) (LOCAL( g, NB )) +#define SRC_ST(g) (LOCAL( g, ST )) +#define SRC_SB(g) (LOCAL( g, SB )) +#define SRC_ET(g) (LOCAL( g, ET )) +#define SRC_EB(g) (LOCAL( g, EB )) +#define SRC_WT(g) (LOCAL( g, WT )) +#define SRC_WB(g) (LOCAL( g, WB )) + +#define DST_C(g) (NEIGHBOR_C ( g, C )) +#define DST_N(g) (NEIGHBOR_N ( g, N )) +#define DST_S(g) (NEIGHBOR_S ( g, S )) +#define DST_E(g) (NEIGHBOR_E ( g, E )) +#define DST_W(g) (NEIGHBOR_W ( g, W )) +#define DST_T(g) (NEIGHBOR_T ( g, T )) +#define DST_B(g) (NEIGHBOR_B ( g, B )) +#define DST_NE(g) (NEIGHBOR_NE( g, NE )) +#define DST_NW(g) (NEIGHBOR_NW( g, NW )) +#define DST_SE(g) (NEIGHBOR_SE( g, SE )) +#define DST_SW(g) (NEIGHBOR_SW( g, SW )) +#define DST_NT(g) (NEIGHBOR_NT( g, NT )) +#define DST_NB(g) (NEIGHBOR_NB( g, NB )) +#define DST_ST(g) (NEIGHBOR_ST( g, ST )) +#define DST_SB(g) (NEIGHBOR_SB( g, SB )) +#define DST_ET(g) (NEIGHBOR_ET( g, ET )) +#define DST_EB(g) (NEIGHBOR_EB( g, EB )) +#define DST_WT(g) (NEIGHBOR_WT( g, WT )) +#define DST_WB(g) (NEIGHBOR_WB( g, WB )) + +#else /* GATHER */ + +#define SRC_C(g) (NEIGHBOR_C ( g, C )) +#define SRC_N(g) (NEIGHBOR_S ( g, N )) +#define SRC_S(g) (NEIGHBOR_N ( g, S )) +#define SRC_E(g) (NEIGHBOR_W ( g, E )) +#define SRC_W(g) (NEIGHBOR_E ( g, W )) +#define SRC_T(g) (NEIGHBOR_B ( g, T )) +#define SRC_B(g) (NEIGHBOR_T ( g, B )) +#define SRC_NE(g) (NEIGHBOR_SW( g, NE )) +#define SRC_NW(g) (NEIGHBOR_SE( g, NW )) +#define SRC_SE(g) (NEIGHBOR_NW( g, SE )) +#define SRC_SW(g) (NEIGHBOR_NE( g, SW )) +#define SRC_NT(g) (NEIGHBOR_SB( g, NT )) +#define SRC_NB(g) (NEIGHBOR_ST( g, NB )) +#define SRC_ST(g) (NEIGHBOR_NB( g, ST )) +#define SRC_SB(g) (NEIGHBOR_NT( g, SB )) +#define SRC_ET(g) (NEIGHBOR_WB( g, ET )) +#define SRC_EB(g) (NEIGHBOR_WT( g, EB )) +#define SRC_WT(g) (NEIGHBOR_EB( g, WT )) +#define SRC_WB(g) (NEIGHBOR_ET( g, WB )) + +#define DST_C(g) (LOCAL( g, C )) +#define DST_N(g) (LOCAL( g, N )) +#define DST_S(g) (LOCAL( g, S )) +#define DST_E(g) (LOCAL( g, E )) +#define DST_W(g) (LOCAL( g, W )) +#define DST_T(g) (LOCAL( g, T )) +#define DST_B(g) (LOCAL( g, B )) +#define DST_NE(g) (LOCAL( g, NE )) +#define DST_NW(g) (LOCAL( g, NW )) +#define DST_SE(g) (LOCAL( g, SE )) +#define DST_SW(g) (LOCAL( g, SW )) +#define DST_NT(g) (LOCAL( g, NT )) +#define DST_NB(g) (LOCAL( g, NB )) +#define DST_ST(g) (LOCAL( g, ST )) +#define DST_SB(g) (LOCAL( g, SB )) +#define DST_ET(g) (LOCAL( g, ET )) +#define DST_EB(g) (LOCAL( g, EB )) +#define DST_WT(g) (LOCAL( g, WT )) +#define DST_WB(g) (LOCAL( g, WB )) + +#endif /* GATHER */ + +#define MAGIC_CAST(v) ((unsigned int*) ((void*) (&(v)))) +#define FLAG_VAR(v) unsigned int* _aux_ = MAGIC_CAST(v) + +#define TEST_FLAG_SWEEP(g,f) ((*MAGIC_CAST(LOCAL(g, FLAGS))) & (f)) +#define SET_FLAG_SWEEP(g,f) {FLAG_VAR(LOCAL(g, FLAGS)); (*_aux_) |= (f);} +#define CLEAR_FLAG_SWEEP(g,f) {FLAG_VAR(LOCAL(g, FLAGS)); (*_aux_) &= ~(f);} +#define CLEAR_ALL_FLAGS_SWEEP(g) {FLAG_VAR(LOCAL(g, FLAGS)); (*_aux_) = 0;} + +#define TEST_FLAG(g,x,y,z,f) ((*MAGIC_CAST(GRID_ENTRY(g, x, y, z, FLAGS))) & (f)) +#define SET_FLAG(g,x,y,z,f) {FLAG_VAR(GRID_ENTRY(g, x, y, z, FLAGS)); (*_aux_) |= (f);} +#define CLEAR_FLAG(g,x,y,z,f) {FLAG_VAR(GRID_ENTRY(g, x, y, z, FLAGS)); (*_aux_) &= ~(f);} +#define CLEAR_ALL_FLAGS(g,x,y,z) {FLAG_VAR(GRID_ENTRY(g, x, y, z, FLAGS)); (*_aux_) = 0;} + +/*############################################################################*/ + +#endif /* _CONFIG_H_ */ diff --git a/benchmarks/opencl/lbm/liblbm.a b/benchmarks/opencl/lbm/liblbm.a new file mode 100644 index 0000000000000000000000000000000000000000..ec053c8ff7c094aa57d473d628cf7e0daf8067be GIT binary patch literal 24086 zcmeHPeQ*@#ecsjH>ErIClUUg%m^QNZ^uZw=I!;K?x{a=ZgtT&s8=O#w=Fk@(jj&`P zQ>EjX>asdM9D*T>F?MKz60osL5~#3or%c0TWXFHd37)|Te|R!vj2+K}Kk$SQXR5LL z{O;bpdk(l5dtj#1VVS-6*=K+6@BRMmyAQg%=iZ)?zV(0UTToYcw9#c2^JiUMw4+^F ztnq1@W@uW)TK7y05A_WuzB(}S(7<3~cwl7h(8$IwjE)TSZ2a`l;NXV-0d-HiQNzSP z4UK$t-N?`*!yh9{Vr|c+QEkE14W#y64=!5lvTJ;!0~?3eZWtVB?OfQ}*52CL(c00` z+S?HsT9CgLTh!Xt+1fGCx_F>PdbiETcrq`=I37cP!W0=6( zb!oBF*WvnVdn^;yhLn)b&gN2XbQgFO$e ztJ^#3cZINhQ^ZL=z;Z1+GV8OZ#qw62(jr0v|TrfDed1LFw4I?8%BMUNl zBDh)CJJ28N>~HUlF76xXSh6Ixwr}C0j?RI_{R17*wH>{&wzd6jeZ8HF=6$G7@t<+o zw{Y#ESlg1`h0%__-nNB3Z9P2$(azYS*rN6&{Yw@v>Rr^^wx}bvXkMoJ{4qg;=h5E% z;G()Y7pbn5X%FK51aLFX68xKmv<>G#jmn=;axLc^HKzo}aLQ4O^KQipcKO-Bvpo2~A=u@Y0?(03;1KNc%YpA! zykM8_2A)%a4;+GBeg*K|iWlti(jRlm@PR|H%dY~yTk(Qjel_qM%vU)CyZjp9yA?0k z;(RlGZq_V z(lfFyG5WP(aNiGgH`Mxxn~zOm2mVvVV(k;(9%xcDWlI~Oj)UBPNP zYVE*BGC8szYME(WxOB1H8OC~AjEt4Qvb5x00OvpAl&R{LeID2?3owU&1X6gmQ%h9L za(2VO?C%2I6Fav~KU4k|3W-DPB)++alqILMvkIqMu8^(|&^au&%pXPuX`i%L>Ld5$ z`fqTGZ5vKGJh(WSg_%#eC+EHRkkma+@dZftvKzqY{$L2yxY!;?xe{8WTsd63X92js z#NSbMUqYAEuNvoqg`L^Qy88UEeE^;=3$r#Kz7JUa1r&fo=8QZ&%1}Ez*MEb3KrQwG zwO0M^TC47!JFH05v|8e(6~5oJntM#E@nIA9P24xFx=GWD9IL^e;STfR^am%_;n~0S zM3pn~rD&||$&wSbxSsI5I<;eO$%$8hw{+Y$Rr(8Us_ggLiFO_Lrgu(xp480QO`7@Z zvZ#a9`Fdl&x%I`hrqif7JFoORrrh&H%|FGxZ`Etg3su-Q9LbM`FIoF|*Ksgzf@8jpFVyhuZm4ro@rq;Kg~ zoumyq+EX&+eL%BXBz;-8!jj&hTg{R_q9H%h-(jyL=@XJ4>FXNuBYjIleht?;@*^FP z{94Sr4EZNDqoK6Ks+aT?)MHY!>$m8gcNl+edVkkwwM=?CU;jSvp;-X;ZN&{c zq8s+Sbcqp3mKfo9iQSm=*sXer9ZKuQeBEO=r46GosT)mk-JY-OCKg&}i-9s$Sf;lU zrz(4XywpMdT;7x?hpo`0&-D7GE~j$$ z|5#n*UW(eEDMR-a^@hT#7 zPTGB|%GQgIcZ-xQYprmNe5|#9-MN-5E86Fw$?Di&e@>TJdh6y}vboG9xqz9gR+eVy$pK^Z|-@YDqQc_GZh^-!-|(V+bT3;L9)u0y+yrV zVa!isf2Eh(3*wcwrB~XKbikgM3>cAkzzFLByD{yzTa$h}6!#lVx*z+IpwXQ6*)8ev zSn0QQ*;_ef-A1hRie`oH#Qw5Tx0{j`R^t`TZc0~JAxZTbt6tK0ja8RPE3C+s_rd$D zmMiaD;V*uGJVC2jxMVf*B25R8_kFAW?GLQFwZhjR&kTG>o*66r;*8yp^jXa>&RC7l z%$R<^*J|vkF)J&*&f`I^V;f#)XO-94Ug0&Xs=TJp=XJJ}dYy0L{)ESiy<(N*K{=Jq z)-o^ljFo0-sn;wk^E%(~d;7*#{oD#a9JC^@`C_TPi0P+2j=xNE9t&twffr=nmpY}V z|7WT^rB9W-uEmTOuqS`5GWPga&<76(V%xufy?nef=6g`L>eH1|-mmCW#usHj?vL&K z2kggp`=)lTMEY)}xizT8wkGtcAox(Ua%%hE>r<6q)~B|7NqqUICccclY&;lCeHr`N z*(e9&a0q+I`eW60gHQJSNGq_XJce-%%DX|8(SZAi%f=xO-XV}4F4gQGRBHBf82{&j zn!Vt&K092d**~npe5lgwg9e`cTMZ*@XvUEe%{Wx98P6iVY`zQrd(aQ>2CSAePK-ks z;~BcA2IbZC?I~@y>Lx3UMjc~1S?YWf^$0~PP`4__kGh0@6*Mc$HD^ZF|UGd-Ry>R z9?vg)7GQk@9n>*r8Q> zpV%SU!|-_L^O|_qG8!_mDOab$G0OX8p9TK#uH^XhK6!jFUKkImOITuU{<@&Q@IHpR z_?*!Ot#87kq5r)m`oEyvnRuKo@7v2n-L%7T(+DR`ylr<@m!eZ!u9Td(OEjCZS7U)IC7sY{ z%+ikgVq0E8Tzp$Q(Fu)a>rZ!1ZM~wIPeD`ZFN>P{ps#ou`yJ1VYn|EPO0M)9jTo~= z{2z}49p(ab9Hi!-;tW0;Gd)fH4zwGy?AfR@fm3vwEzoebHuW0~%P`h>*Le!}=OFKs z(0BGAA9NeD7Mji8MrbDuqLp}J-bTb|N%5?!m-Od|^O9bHW;0n5^FmW;k#sYjhmw|x z=7MxB;>1=@*^I5vzpDJmou7;@oy>p zM7^PXY~2R>Ois5E4ae1Opy6b6n{ZEs)ttOmx0(5H-3If=V}}bh8zYp}Z0x3Z3FdWP zvuTB9)0{T!#;j(8HJZ_EGJ1`yW!65t`M6O`uaOuc>yG!qX6Ak1YQ2WmCC63R%AVdP zy+-zY7>feEMl_&;xPyF%r$MYG=vWkgDAr+Ip>KGuqi+v``2mD4f@ZvCtkcg@@|Lt{Ne4nvHr`p2hXQs z?Foy1alQ83nEz~h($Jr%zY50(@945uDI8O7-!*y-<>zOQl$D*Q@tj^G^VA`GRUf=Z z6{%0NwD;!JC#!+xpU>H{vDYb9b|cD0Kk)NW@_d}WxL(;Np0!2GhHiGkBU;VVH)SlY zS3cHh(Rm=xewo*|s_h2$AVu3Qn(-|yTQ55187*DPz6taH`h6~Y%OZ1KwAfo)Hula% z%FgJb((Zg5xtVhvD2XnnJ#!z1D zd8#w(T>Ad8e0;dcp z2UD8$y$8T0YpesprG3^9Q}4sZZyk{o?>Nt=-nS0F^#QmVXeE6?aS zqSItF9q2K#5AJ(({VyyjFPsiwZ;kf-#Nz}4S`1o^xupdEhgPnczB0|+`V(k24`@>* zZ$Yzp8GG;7g0aWHgT4I2Rk7_3_U`WnrnWzcy?nYd<`@38z?8igd+=kGv7P^lz4z|G z)XqJ42Y5FaOMMsj@2{D9{AoQ_wnv{T#r@E+Ky1qs8SQ7v`?N0oK2`Q~R=0^jw+Z=C z=I(0y2hd^WVV@a-MiSW#eWpw^e&ofzvsC`ix7vOVdX4BaM}nHsw9IGB$34+%A~>HB zttMp{7Sd<4T8-U^chk#vLIX-xVa?&a@!e{xd3TKkO{{O1rvvS)utV_*t8TK~@#Fom z1@DxRdn&9(Xf-XzD$K{ABZcm-a02L~3FutDa$M_vrxNvR{#BV7Ff>#2oA7IX$0K#b zoCqJQLjTaadVcQmKBORi&^lzD!12m^dwyTUx`WKILVpy;=$+c0C;JVGF}yA*_F|7- z@SHH_pDP>wYs>ChN*?wLtd__xL1cn>N<6irZ$Ttm$m*mgl2UBz`*;xToT`F)tmo5&zxi z0d$=2V^06y(r`NPcRZ!9?96F6KNWqa^S+#hGjU>VM#F)Y>+Mmzu(qwevSWEDu|7@wVQ(ZCb963 z&NqsS*T&TRJ3}_6;yr}dIpxKk=eBlpTf4cf-N@hE+}3UiG}MCk?AzK+PKRL~sZi6n zt=+iqg7$6g=B8;k+W({P82^WS1xy|C9phiS7f9uMXs=&&{mZMaFI{y#uC9;N;JdF{ ziFO~Z1y8GM`R?7Yh40#_>oxc?oT)36Bd_e)bTLKl#k@$B92BSou6d`~||71S_8& z^qGrm1*<-+6RiBS5x(4CVr6kF~O?6+lb#!82|m2^M8`;Pm|3#vU!L2%Vh7t_YK|tpG`Oqh<-bj^s!tc$ zbd$|$;@6Y?81Xv@?-Q*2A0_)!WOJHq-XQ)RvVV_w{ONeE{<8%u|1E-5{qH54J%W}0!({&w*-VqoS>n%={Uzc(`2Quh|EmQn|M)ND9N$KGDd81l{|^4f z*v)&HuzZQ#<*NzLCEQGSG2x|zR}fxJc#!ZI;R(XK2p=GPl<+CSX9&L|SdHUl;*Mm)v z+umxyZo7zYCcd5crNplwehu-%#6K!nm3u%io|kf*A^e75RflSP$KJJ>D_HT(#J3Z_ zocLA5uP1&~uo~ZO#P273gzz-sGlEqeE)c#yFiC;;4Kk>tY zRh`F)-$VF-VCC~T;c2otBUt%4PyA)V+MRhnwSwLH6W>mJmtf^{1@ZlahXt#;O%UEg zHU|VNKSzn5CVWP)+y8{|Cn~vmYIo&rss*e1&lRlvw-Mh(cqQRAf>l|gf>quLve`v8 z2Z%pH_9uxyL--BB%Ks&@mmdyt>l_fQY~~W*ELhcNG4b7mR|!^mhsl1NY<7^%e&P?4 z{Y%83CVWn?@_&)=4B3=_B5yNWusfFotNOPSznt(&!OH)7vL7Rx39{Kk`~k8*O8hk8 zGlG@>3xqF|jW#E5Q!Ut?OM+GXTZr!>+$~u7Uqkl8Wb-K5>>z$0*&inUB;i*DEB|kh z{YA2Qk8H~C&ey+Iu&RHE_{D^m3ReDCll>ssjFHVY;`fmKLE>K`JT2I*KiOX-oA=13 z96y@l_J6HlxBkR0CcIRz^1q7g*OSdC*-Q|>i|h{&f1L0s!OH(x;?EPlOj!Gqy#3Kn z=J83wuM$2>_&ni@gl7ns*X4cACLAK%M!1V`H{n%;*ApHiyp8Za!bb(GaXCf&Y2x1? z{vz@35%0Mt-V0YdUUQafogeS;m7vTeBbCmE&!K&Od#J?d} zmHQ6y?-B2*hmC4WwP0mGm-uGl+llWItjg^dtYXm)!utf5Xqn@5L*C|`V8ve`{u1$? z#=L#4U}Ya7zD=+<>whWns|c?rJWhCrVCC}w;iF`8Qn2!Wn)vgCFA7$Ev?gHH57mMd zUq^h4VCC~(;#Uw}Em-9pCOl3yI|M5~`-wkF_@rRv=M3@ZiN8erj9}$6&(47OeaX5sc5YU0s^ zUtm@xJHeJMbll^MqhY3F_Sk-?Q@%srMC47?X2c!AC zV}vIN?;^aP@L|F)5uPS|mhgGP7YWZ0F2@f$x^1Z?93tFKcq!qPga-wyetwkrZN%>* z{xI>!i9bd7G}*jC_#MG&FEK-WIex&^ZOd%JA;GF{ZG^kXrkn6;vKb^iCRmlbgZO=d z)qFTe{Bhz>5r3NabHraD{u1#sf>pV7?Z9ddFDJZGu&M+9+U!UFLGJ9YYv+HZ_6C3Y z`(yl~_cgx^JKQtUGdPH!81L=VuKr2aM52Gg=1ps3_}Sczj|^r3enU13@Y}HhKEm-b zY*m+La;^D0P5T4o*A*^BDp*oE(9K%Qq72M@sG-Q%xL9r+>A-J{;{8wZ$*{=10M4a2 x#a|mvIo80}$t=u#$~`%sQ)!08$6Wa1Lu};uZ=CM1%eC0;LMr#&av@1-{|oX6G +#include +#include +#include +#include + + +#include "layout_config.h" +#include "lbm.h" +#include "lbm_macros.h" +#include "main.h" +#include "ocl.h" + + +/*############################################################################*/ + +static cl_mem OpenCL_srcGrid, OpenCL_dstGrid; + +/*############################################################################*/ + +struct pb_TimerSet timers; +int main(int nArgs, char *arg[]) { + MAIN_Param param; + int t; + + OpenCL_Param prm; + + pb_InitializeTimerSet(&timers); + struct pb_Parameters *params; + params = pb_ReadParameters(&nArgs, arg); + + params->inpFiles = (char **)malloc(sizeof(char *) * 2); + params->inpFiles[0] = (char *)malloc(100); + params->inpFiles[1] = NULL; + strncpy(params->inpFiles[0], "120_120_150_ldc.of", 100); + + static LBM_GridPtr TEMP_srcGrid; + // Setup TEMP datastructures + LBM_allocateGrid((float **)&TEMP_srcGrid); + MAIN_parseCommandLine(nArgs, arg, ¶m, params); + MAIN_printInfo(¶m); + + OpenCL_initialize(params, &prm); + MAIN_initialize(¶m, &prm); + + for (t = 1; t <= param.nTimeSteps; t++) { + pb_SwitchToTimer(&timers, pb_TimerID_KERNEL); + OpenCL_LBM_performStreamCollide(&prm, OpenCL_srcGrid, OpenCL_dstGrid); + pb_SwitchToTimer(&timers, pb_TimerID_COMPUTE); + LBM_swapGrids(&OpenCL_srcGrid, &OpenCL_dstGrid); + + if ((t & 63) == 0) { + printf("timestep: %i\n", t); +#if 0 + CUDA_LBM_getDeviceGrid((float**)&CUDA_srcGrid, (float**)&TEMP_srcGrid); + LBM_showGridStatistics( *TEMP_srcGrid ); +#endif + } + } + + MAIN_finalize(¶m, &prm); + + LBM_freeGrid((float **)&TEMP_srcGrid); + + pb_SwitchToTimer(&timers, pb_TimerID_NONE); + pb_PrintTimerSet(&timers); + pb_FreeParameters(params); + return 0; +} + +/*############################################################################*/ + +void MAIN_parseCommandLine(int nArgs, char *arg[], MAIN_Param *param, + struct pb_Parameters *params) { + struct stat fileStat; + + /*if (nArgs < 2) { + printf("syntax: lbm